1. 在res目录下新建values-en文件夹存放英语的字符串文件strings.xml,再新建values-zh文件夹存放中文的的字符串文件strings.xml。
2. 更新configuration的locale属性,代码如下
/**
* 切换语言
*/
private void switchLanguage(Locale locale) {
Resources resources=MyApplication.getContext().getResources();
DisplayMetrics metrics=resources.getDisplayMetrics();
Configuration config=resources.getConfiguration();
Locale currentLocale=config.locale;
config.locale=locale;//选择语言
resources.updateConfiguration(config, metrics);//更新配置
if(!currentLocale.equals(config.locale)){//如果切换了语言就刷新当前页面
recreate();
}
}
3. 应用:
//切换成简体中文,即引用values-zh文件夹下的strings.xml;
switchLanguage(Locale.SIMPLIFIED_CHINESE);
//切换成英文,即引用values-en文件夹下的strings.xml;
switchLanguage(Locale.ENGLISH);
//切换成系统的语言环境
switchLanguage(Locale.getDefault());