關於Android應用實現多語言切換,有好幾種辦法,網上也搜到很多資料,這裡有個簡單有效的辦法。
步驟如下:
在資源文件中新建一個文件夾values-en,在裡面新建一個strings.xml,把默認values文件夾中的strings.xml中的內容拷貝一份到values-en中的strings.xml,再把該文件夾中的中文內容轉換為英文,例如<string name="set">設置</string>轉換為<string name="set">set</string>
然後在主Activity中添加一個方法
代碼如下:
public void switchLanguage(Locale locale) {
Configuration config = getResources().getConfiguration();// 獲得設置對象
Resources resources = getResources();// 獲得res資源對象
DisplayMetrics dm = resources.getDisplayMetrics();// 獲得屏幕參數:主要是分辨率,像素等。
config.locale = locale; // 簡體中文
resources.updateConfiguration(config, dm);
}
然後再在OnCreate函數中調用(也必須在OnCreate函數中調用才行)
例如:
switchLanguage(Locale.getDefault()); 或 switchLanguage(Locale.US);
最後需要注意的是:還需要在AndroidManifest.xml文件中要配置兩個地方:
1、在對應activity節點中加上這個屬性: android:configChanges="locale"
2、添加權限: <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11