android實現app國際化

隨着公司發展,要進行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));


    }

通過調用該方法就會將中文設置爲英文,重點是設置後不會立即生效,需要關閉當前頁面,再次進入纔會生效 我通過手動關閉頁面再重啓來模擬實現
效果圖

這裏寫圖片描述

很簡單的東西,記錄下,方便以後使用

發佈了105 篇原創文章 · 獲贊 35 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章