A. android怎麼獲取當前操作系統的語言
Android--獲取當前系統的語言環境其代碼如下:
private boolean isZh() {
Locale locale = getResources().getConfiguration().locale;
String language = locale.getLanguage();
if (language.endsWith("zh"))
return true;
else
return false;
}
其中languag為語言碼:
zh:漢語
en:英語
B. android怎麼在自己的程序中切換語言
你說的不是在程序中切換語言吧,是語言國際化吧,就是在設置裡面改變語言類型,比如英文,程序顯示的也是英文,
Android 中要實現國際化比較簡單。
字元串國際化:只要在 res 文件夾下新建對應語言的 values 文件夾就好了,
如,英語環境下的,文件夾命名為:values-en
美國英文環境:values-en-rUS
中文環境為:values-zh
大陸地區中文環境: values-zh-cn
在 eclipse 下新建 Android 項目時,會在 res 目錄下自動創建一個默認語言環境的文件夾 : values
當某一個資源沒有在語言環境的對應的資源集合中找到時,就會使用 values 下的資源。
若某一個語言環境沒有在項目中定義語言環境,那麼也會使用 values 下的資源。
C. Android應用內切換語言
首先扯點別的:這是第一次在上寫東西,我突然明白為啥這么多人在上寫東西了,因為沒有廣告啊,哈哈。
最近接觸到Android 應用內切換語言的問題,研究了兩天,做個記錄先。實現了中文,英文,泰語的切換。測試機器 Nexus5(Android p),HUAWEI榮耀9青春版(8.0.0),XIAOMI mi 4LTE(6.0.1)。看下效果
完整的例子在底部
實現步驟
首先需要新建對應語言環境下的資源文件
定義一個BaseActivity,重寫attachBaseContext方法,在此方法里進行語言切換
LanguageUtil中的attachBaseContext()方法
在attachBaseContext()方法中,我們判斷一下,如果當前api大於24,那麼就調用updateResources()方法更新context。
定義好BaseActivity以後,我們只需要讓我們的Activity都繼承這個基類即可。
自定義Application並在AndroidManifest.xml文件中聲明,在Application的onCreate()方法中,調用更換語言的方法即可。
LanguageUtil中的changeAppLanguage方法
經過上面的操作就可以在7.0以下實現應用內切換語言。
定義一個ChangeLanguageActivity
如果是7.0以下,我們需要調用changeAppLanguage方法, 如果是7.0及以上系統,直接把我們想要切換的語言類型保存在SharedPreferences中,然後重新啟動MainActivity即可。
可以使用google提供的新特性來解決。
完整的例子請移步
https://github.com/humanheima/InternationalizationDemo
參考鏈接:
1. https://www.jianshu.com/p/32ff13db1f0d#comment-24575608
2. http://www.cnblogs.com/travellife/p/Android-ying-yong-nei-o-yu-yan-qie-huan.html
3. https://yanlu.me/android-7-0-app-language-switch/
4. https://github.com/captain-miao/MultiLanguagesSwitch
5. https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview
D. 如何在android APP中設置系統語言
獲取當前系統語言
LocalecurLocale=getResources().getConfiguration().locale;
//通過Locale的equals方法,判斷出當前語言環境
if(curLocale.equals(Locale.SIMPLIFIED_CHINESE)){
//中文
}elseif(Locale.ENGLISH){
//英文
}
Configurationconfig=resources.getConfiguration();//獲得設置對象
DisplayMetricsdm=resources.getDisplayMetrics();//獲得屏幕參數:主要是解析度,像素等。
config.locale=Locale.ENGLISH</span>;//設置APP語言設置為英文
resources.updateConfiguration(config,dm);
//設置完以後要刷新Activity才能及時生效
E. 如何在android APP中設置系統語言
設置達到的效果
在設置界面打開切換語言的界面,選擇語言後重啟 HomeActivity,語言切換完成,下次重新打開 App ,也是用戶設置的語言。
工具
編程軟體;
實現步驟
在不同的 value 文件夾下添加不同語言的string.xml文件,項目添加了英文、簡體中文、繁體中文三種語言,如下圖所示: