android多语言切换

来源:互联网 发布:知乎一句话 编辑:程序博客网 时间:2024/05/16 11:33

在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容拷贝一份到values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如设置转换为seting
然后在主Activity中添加一个方法
代码如下:
public void switchLanguage(Locale locale) {
Configuration config = getResources().getConfiguration();// 获得设置对象
Resources resources = getResources();// 获得res资源对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
config.locale = locale; // 简体中文
resources.updateConfiguration(config, dm);
}
然后再在OnCreate函数中调用(也必须在OnCreate函数中调用才行)
例如:
switchLanguage(Locale.getDefault()); 或 switchLanguage(Locale.US);
最后需要注意的是:还需要在AndroidManifest.xml文件中要配置两个地方:
1、在对应activity节点中加上这个属性: android:configChanges=”locale”
2、添加权限:
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

0 0