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...