本篇文章给大家分享的是有关如何在Android中实现多语言,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创建多语言包
首先在onCreate方法中调用此方法查看上一次保存的是什么语言
public void setLanguage() { //根据读取到存放在sp里面的数据 进行设置 Configuration configuration = getResources().getConfiguration(); SharedPreferences sharedPreferences = getSharedPreferences("key", MODE_PRIVATE); int language = sharedPreferences.getInt("language", 0); switch (language) { case 0: configuration.setLocale(Locale.CHINESE); break; case 1: configuration.setLocale(Locale.ENGLISH); break; } getResources().updateConfiguration(configuration, getResources().getDisplayMetrics()); }
点击某个按钮弹出选择框选择语言包
btn_qiehuan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] strings = {"简体中文", "English"}; //首次进入判断是否是中文语言 int selected = getSharedPreferences("language", Context.MODE_PRIVATE).getInt("language", -1); if (selected == -1) { String defaultLanguage = Locale.getDefault().toString(); if (defaultLanguage.equals(Locale.CHINESE.toString()) || defaultLanguage.equals(Locale.SIMPLIFIED_CHINESE.toString()) || defaultLanguage.equals(Locale.TRADITIONAL_CHINESE.toString())) { selected = 0; } else { selected = 1; } } new AlertDialog.Builder(MainActivity.this) .setSingleChoiceItems(strings, selected, new DialogInterface.OnClickListener() { //点击单选框某一项以后 public void onClick(DialogInterface dialogInterface, int i) { SharedPreferences preferences = getSharedPreferences("language", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt("language", i); editor.commit(); dialogInterface.dismiss(); //重启activity finish(); Intent intent = new Intent(MainActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } }) .create() .show(); } });
以上就是如何在Android中实现多语言,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。