Android Studio之APP國際化

2021-08-25 14:41:49 字數 2818 閱讀 4054

1、字串國際化:只要在 res 資料夾下新建對應語言的 values 資料夾就好了, 

如,英語環境下的,資料夾命名為:values-en 

美國英文環境:values-en-rus 

中文環境為:values-zh 

大陸地區中文環境: values-zh-cn

在 eclipse 下新建 android 專案時,會在 res 目錄下自動建立乙個預設語言環境的資料夾 : values 

當某乙個資源沒有在語言環境的對應的資源集合中找到時,就會使用 values 下的資源。 

若某乙個語言環境沒有在專案中定義語言環境,那麼也會使用 values 下的資源。 

2.、國際化

同理。 

在 res 下新建 drawable-zh 資料夾,存放中文環境下的 

新建 drawable-en 作為英語環境下的 

在 eclipse 下新建 android 專案時,會在 res 目錄下自動建立三個預設語言環境的資料夾: 

drawable-hdpi 

drawable-ldpi 

drawable-mdpi 

分別用於存放高、中。低解析度的。android 系統會根據手機的解析度,而自動從不同的對應的某乙個資料夾下去載入。 

同樣,它們也可以國際化,命名規則如: 

drawable-zh-hdpi 

drawable-en-ldpi 

drawable-en-rus-mdpi    

提供兩種解決方式:

方法一(治本):

在發生閃退的activity中新增:

private boolean languagechange = false;

private static string lastlanguage="cn";

private string nowlanguange="";

@override

public void onconfigurationchanged(configuration newconfig)  else if (cfg.orientation == configuration.orientation_portrait) 

nowlanguange = getresources().getconfiguration().locale.getcountry();

if(nowlanguange !=null && !nowlanguange.equals(lastlanguage))        

}private void refresh() 

方法二(治標):上次登入時的語言環境 == 當前手機語言環境;

退出登入;

重新登陸;

} else {

繼續登陸;

以下為locale下幾種方法返回的結果,經比較可使用getcountry()方法記錄並判斷當前手機語言設定。

其中locale  locale = getresources().getconfiguration().locale;

中文簡體:

locale.getlanguage()--zh

locale.getdisplaylanguage()--中文

locale.getcountry()--cn

locale.getdisplayname()--中文 (中國)

中文繁體:

locale.getlanguage()--zh

locale.getdisplaylanguage()--中文

locale.getcountry()--tw

locale.getdisplayname()--中文 (台灣)

美國英語:

locale.getlanguage()--en

locale.getdisplaylanguage()--english

locale.getcountry()--us

locale.getdisplayname()--english (united states)

英國英語:

locale.getlanguage()--en

locale.getdisplaylanguage()--english

locale.getcountry()--gb

locale.getdisplayname()--english (united kingdom)

日語:

locale.getlanguage()--ja

locale.getdisplaylanguage()--日本語

locale.getcountry()--jp

locale.getdisplayname()--日本語 (日本)

visualstudio新增不同語言環境的values資源檔案目錄:

指定環境,此處以新增美國英語為例:

下面新增乙個文字資源檔案,將英語文字放在這個檔案中,即可切換為英文文字:

Android Studio之效能優化

使用android studio進行開,隨著專案的增大,依賴庫的增多,構建速度越來越慢,現在最慢要6分鐘才能build乙個release的安裝包,在網上查詢資料,發現可以通過一些配置可以加快速度,這裡跟大家分享一下。開啟gradle單獨的守護程序在下面的目錄下面建立gradle.properties...

Android studio之配置NDK開發環境

android studio已經更新到了2.0版本,其中有許多令人振奮的訊息,github中已經見不到eclipse開源的工程了,所以使用android studio是大勢所趨了。本文主要介紹如何在android studio中配置ndk開發環境 1 開啟android sdk配置頁面 3 配置nd...

Androidstudio 的坑之呼叫其他應用

想要呼叫其他應用?當然 你首先需要知道其他應用的包名 和或者相應的activity名字就可以了啊 則是 intent intent getpackagemanager getlaunchintentforpackage 包名 if intent null dosomething startactiv...