Android將應用程序指定默認語言

Android通過設置資源文件的名稱,如:values-zh-rCN等;系統會自動根據當前系統設置的語言進行選擇,默認是選擇values目錄下的資源文件的。

在代碼中:

如果要指定默認語言,無論系統設置的語言是什麼,都要顯示默認語言,那這麼辦呢?

寫一個類(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);  
  
    }

然後將默認的AndroidManifest.xmlApplication設置爲如下:

<application  
        android:name=".FunctionApplication"  
        android:icon="@drawable/ic_launcher"  
        android:label="@string/app_name"  
        android:configChanges="locale" >

其中android:configChanges="locale"是關鍵。當然如果你不使整個應用程序都編程中文,那麼不用繼承Application,直接在繼承Activity的類中添加第一步的方法即可。當然別忘記在Activity標籤中添加android:configChanges="locale"。

最後添加相應權限:

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章