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文件,项目添加了英文、简体中文、繁体中文三种语言,如下图所示: