關于Android應用實現多語言切換,有好幾種辦法,網上也搜到很多資料,這里有個簡單有效的辦法。
步驟如下:
在資源文件中新建一個文件夾values-en,在里面新建一個strings.xml,把默認values文件夾中的strings.xml中的內容拷貝一份到values-en中的strings.xml,再把該文件夾中的中文內容轉換為英文,例如
然后在主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、添加權限:
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。