android 设置默认语言 多语言切换

https://github.com/XiuKong/ChangeLanguage


1.本身不像维护多个版本在已经有了多语言,但是总难免有恶心的定制版,就是想要什么语言环境下都用他们设定的语言,

在继承Application中create时候

public static void defLanguge() {
if (VersionTools.version == Version.Standard)
return;

   String languageToLoad  = "ja";  
        Locale locale = new Locale(languageToLoad);  
        Locale.setDefault(locale);  
Configuration config = rs.getConfiguration();
DisplayMetrics metrics = rs.getDisplayMetrics();
config.locale = Locale.JAPAN;
rs.updateConfiguration(config, metrics);
}


   
            android:name="com.ubtechinc.app.AlphaApplication"
        android:allowBackup="true"
        android:configChanges="locale"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

   
   

2.这样使用确实可以实现了设置默认语言,但是在有屏幕切换的应用中,屏幕切换后又会加载一遍Configuration  使得加载回跟手机系统语言一致

解决:在application中重写以下方法就可以

@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
defLanguge();
}

你可能感兴趣的:(android)