您的位置:首页 > 移动开发 > Android开发

Android 应用(中英文)切换

2016-07-07 15:18 555 查看
应用软件走向国际化,都少不了 中英文切换!最近项目需要一个中英文切换按钮!

这里简单说下原理:就是有多个Strings文件,对应的选择,然后刷新当前的Activity!

一:AndroidManifest.xml 文件

看来组件的配置缺少不了它,的确很是重要.....

在每个需要切换的语言Activity 下面添加:

Android:configChanges="locale"

[java] view
plain copy

<activity  

           android:name="com.newentertainment.androidActivity"  

           android:configChanges="locale"  

           android:label="@string/app_name"  

           android:theme="@style/concealTitle" >  

二:创建一个英文的Strings.xml 文件,目录为: values-en   


     

三:核心代码,切换语言

[java] view
plain copy

/** 

 * 刷新语言 

 */  

public void updateActivity(String sta) {  

  

    // 本地语言设置  

    Locale myLocale = new Locale(sta);  

    Resources res = getResources();  

    DisplayMetrics dm = res.getDisplayMetrics();  

    Configuration conf = res.getConfiguration();  

    conf.locale = myLocale;  

    res.updateConfiguration(conf, dm);  

    startActivity((new Intent(this, TabActivity.class)));  

    this.finish();  

}  

String sta=getResources().getConfiguration().locale.getCountry()  用于判断当前的语言,

把需要切换的Strings.xml对应的语言,传入到 updateActivity(String sta)  方法..... 

*... 项目开发中按钮为一个,点击后,需要更改图片,这就需要判断,简单贴一段判断:

[java] view
plain copy

// 切换成英文  

        if (LanguageSettings.getInstance().getCurrentLanguage().equals("zh"))                                           {  

            updateActivity("en");  

            LanguageSettings.getInstance().switchCurrentLanguage();  

        } else {  

            // 切换成中文  

            updateActivity("zh");  

            LanguageSettings.getInstance().switchCurrentLanguage();  

        }  



LanguageSettings.getInstance().getCurrentLanguage() 给变量动态赋值的标识列,用于判断!(采用单例模式)

其中: LanguageSettings.Java 

然后在OnCreate() 加载启动的时候更改 按钮图片!

转自http://blog.csdn.net/cs_li1126/article/details/11918707
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: