Android轻松实现多语言的方法示例

时间:2021-05-20

本文介绍了Android轻松实现多语言的方法示例,分享给大家,具体如下:

1.创建多语言包


2.首先在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()); }

3.点击某个按钮弹出选择框选择语言包

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(); } });

效果演示~~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章