当前位置:操作系统 > 安卓/Android >>

Android设置应用程序默认语言

我们只要分三步来写此功能:
 
第一步:
 
写一个类(FunctionApplication)继承Application,在onCreate()方法中实现如下方法:
 
@Override
public void onCreate() {
    super.onCreate();
    String languageToLoad  = "zh";
    Locale locale = new Locale(languageToLoad);
    Locale.setDefault(locale);
    Configuration config = getResources().getConfiguration();
    DisplayMetrics metrics = getResources().getDisplayMetrics();
    config.locale = Locale.SIMPLIFIED_CHINESE;
    getResources().updateConfiguration(config, metrics);
}
其中android:configChanges="locale"是关键。当然如果你不使整个应用程序都编程中文,那么不用继承Application,直接在继承Activity的类中添加第一步的方法即可。当然别忘记在Activity标签中添加android:configChanges="locale"。
注:android:configChanges可以设置很多属性,具体属性如下:
 
 
VALUE                         DESCRIPTION                                                                                                                                                                                      
"mcc" 国际移动用户识别码所属国家代号是改变了-----  sim被侦测到了,去更新mcc    mcc是移动用户所属国家代号
"mnc" 国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc    MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
"locale" 地址改变了-----用户选择了一个新的语言会显示出来
"touchscreen" 触摸屏是改变了------通常是不会发生的
"keyboard" 键盘发生了改变----例如用户用了外部的键盘
"keyboardHidden" 键盘的可用性发生了改变
"navigation" 导航发生了变化-----通常也不会发生
"screenLayout" 屏幕的显示发生了变化------不同的显示被激活
"fontScale" 字体比例发生了变化----选择了不同的全局字体
"uiMode" 用户的模式发生了变化
"orientation" 屏幕方向改变了
"screenSize" 屏幕大小改变了
"smallestScreenSize" 屏幕的物理大小改变了,如:连接到一个外部的屏幕上
 
 
 
 
 
 
 
 
 
 
 
 
 
 
第二步:将默认的AndroidManifest.xmlApplication设置为如下:
 
 
<application
    android:name=".FunctionApplication"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:configChanges="locale" >
 
第三步,添加相应权限:
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
 
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,