歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

Android的國際化做得還是不錯的,通過設置資源文件的名稱,如:values-zh-rCN,即可,系統會自動根據當前系統設置的語言進行選擇,默認是選擇values目錄下的資源文件的。那麼如果某個應用程序要指定默認語言,無論系統設置的語言是什麼,都要顯示默認語言,那這麼辦呢?很簡單,3步就Ok了。

第一步,寫一個類(FunctionApplication)繼承Application,在onCreate()方法中實現如下方法:

  1. @Override  
  2.     public void onCreate() {  
  3.         super.onCreate();  
  4.         String languageToLoad  = "zh";  
  5.         Locale locale = new Locale(languageToLoad);  
  6.         Locale.setDefault(locale);  
  7.         Configuration config = getResources().getConfiguration();  
  8.         DisplayMetrics metrics = getResources().getDisplayMetrics();  
  9.         config.locale = Locale.SIMPLIFIED_CHINESE;  
  10.         getResources().updateConfiguration(config, metrics);  
  11.   
  12.     }

第二步,將默認的AndroidManifest.xmlApplication設置為如下:

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

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

第三步,添加相應權限:

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

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved