最近项目中用用到语言切换功能,第一想到的就是资源文件,没错。
在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容Copy至values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如<string name="set">设置</string>转换为<string name="set">set</string>
然后再主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函数中调用
还得注意的是:在AndroidManifest.xml中要配置一下
在activity节点中加上这个属性: android:configChanges="locale"
添加权限: <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2013/04/09/3010514.html,如需转载请自行联系原作者