最近項目中用用到語言切換功能,第一想到的就是資源文件,沒錯。
在資源文件中新建一個文件夾values-en,在里面新建一個strings.xml,把默認values文件夾中的strings.xml中的內容Copy至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函數中調用
還得注意的是:在AndroidManifest.xml中要配置一下
在activity節點中加上這個屬性: android:configChanges="locale"
添加權限: <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />