Android应用实现多语言切换

        关于Android应用实现多语言切换,有好几种办法,网上也搜到很多资料,这里有个简单有效的办法。

        

        步骤如下:

       在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容拷贝一份到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函数中调用(也必须在OnCreate函数中调用才行)

       例如: 

        switchLanguage(Locale.getDefault());  或  switchLanguage(Locale.US);

 

       最后需要注意的是:还需要在AndroidManifest.xml文件中要配置两个地方:

       1、在对应activity节点中加上这个属性: android:configChanges="locale"

       2、添加权限: <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。