android實現只切換本應用的語言(不切換android 系統語言)

android 應用支持國際化語言的配置。 
在android 工程中的res文件夾下 創建values-國家代碼,例如values-en,values-zh
這樣就可以和android 系統中設置的語言 進行匹配, 如沒有匹配上, 則會默認使用values文件夾中的資源。

以上是常用的android國際化實現, 但有時我們需要在應用中設置自己本應用的語言,並不改變系統語言, 那要如果實現呢?
直接上代碼:
 最好在Application中的onCreate中實現:
        Resources resources = getResources();
        Configuration config = resources.getConfiguration();
        Log.i(TAG, "--------------000onCreate& " + config.locale.getLanguage() + "," + config.locale.getCountry());
config.locale = new Locale(config.locale.getLanguage(), "OF");
        //config.locale = new Locale("en");
        Log.i(TAG, "--------------111onCreate& " + config.locale.getLanguage() + "," + config.locale.getCountry());
        resources.updateConfiguration(config, resources.getDisplayMetrics());
注意紅色字體, 這個OF不是隨意寫的, 而是和你工程res文件夾下的文件名對應的(values-zh-rOF
你也可以創建(values-zh-rNM)等等文件, 但是請記住代碼要爲之匹配。 r也是必不可少,不可代替的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章