1、准备语言资源,values-zh、values-en、values-fr(中文、英语、法语)等文件夹下String文件
2、在要继承的BaseActivity(或者BaseFragment)添加方法
protected void switchLanguage(String language) {
// 设置应用语言类型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("en")) {
config.locale = Locale.ENGLISH;
} else if(language.equals("zh")){
config.locale = Locale.SIMPLIFIED_CHINESE;
}else if(language.equals("fr")){
config.locale = Locale.FRENCH;
}else{
return;
}
resources.updateConfiguration(config, dm);
// 保存设置语言的类型
SharedPreferencesUtil.putSharePre(context, "Language", language);
}
3、在切换语言的界面选择语言
String language = SharedPreferencesUtil.getSharePreStr(getActivity(),
"Language");
switch (arg0.getId()) {
case R.id.btn_zh:
if (!language.equals("zh")) {
switchLanguage("zh");
} else {
return;
}
break;
case R.id.btn_en:
if (!language.equals("en")) {
switchLanguage("en");
} else {
return;
}
break;
case R.id.btn_fr:
if (!language.equals("fr")) {
switchLanguage("fr");
} else {
return;
}
break;
default:
break;
}
getActivity().finish();
}
最后需要重启页面