隨着公司發展,要進行app國際化,順便弄個小Demo,分享給大家
經過調研,目前實現國際化的方式有兩種:
1、一種是安卓系統自己根據手機選擇的語言加載values文件夾下相對應strings文件
2、一種是通過手動設置實現
下面一個個來實現
一、通過安卓系統自己根據手機選擇的語言加載values文件夾下相對應strings文件
首先我們要創建響應的strings文件,studio中操作如下:
我以韓國爲例,創建韓國values文件夾並添加strings文件
通過上面的操作,我們已經建立了相應國家對應的strings文件如下:
strings文件
中文:
<resources>
<string name="app_name">TestApplication</string>
<string name="change_language">改變語言</string>
</resources>
韓文:
<resources>
<string name="app_name">TestApplication</string>
<string name="change_language">한국 思密達</string>
</resources>
只要這樣做,android系統就會根據手機系統語言進行加載。
二、通過手動設置
通過手動設置無非就是提供一個方法供使用
方法如下:
private void setLanguage() {
/**
* 切換韓文
*/
// 獲得res資源對象
Resources resources = getResources();
Configuration config = resources.getConfiguration();
// 獲得屏幕參數:主要是分辨率,像素等。
DisplayMetrics dm = resources.getDisplayMetrics();
// 韓語
config.locale = Locale.KOREA;
isChange = true;
resources.updateConfiguration(config, dm);
//模擬重啓頁面
finish();
startActivity(new Intent(this, CustomTextActivity.class));
}
通過調用該方法就會將中文設置爲英文,重點是設置後不會立即生效,需要關閉當前頁面,再次進入纔會生效 我通過手動關閉頁面再重啓來模擬實現
效果圖
很簡單的東西,記錄下,方便以後使用