Android原生國際化支持隨系統(tǒng)默認(rèn)語言選擇,相關(guān)代碼如下:
public LocalegetSysLocale() {? ? Locale locale;? ? if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {? ? ? ? locale = LocaleList.getDefault().get(0);? ? }else {? ? ? ? locale = Locale.getDefault();? ? }return locale;}
國際化文本資源需要在res目錄下添加,比如添加英文就建立values-en目錄,在該目錄下加入strings.xml資源文件
strings.xml:
<resources>? ? <string name="app_name">patriarch_tips</string>? ? <string name="introduction">Hello, my friend!</string></resources>
語言設(shè)置及切換Java代碼:
public void setConfiguration() {? ? Locale targetLocale = getLanguageLocale();? ? Configuration configuration =this.getResources().getConfiguration();? ? if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {? ? ? ? configuration.setLocale(targetLocale);? ? }else {? ? ? ? configuration.locale = targetLocale;? ? }? ? Resources resources =this.getResources();? ? DisplayMetrics dm = resources.getDisplayMetrics();? ? resources.updateConfiguration(configuration, dm);//語言更換生效的代碼!}
代碼GitHub地址: