Android 判断当前系统语言
来源:互联网 发布:熔炉的真实事件 知乎 编辑:程序博客网 时间:2024/05/16 07:41
正文
列:zh_CN (1)方法1得到zh (2)方法2得到cn (3)方法3得到zh_CN
方法1:
import java.util.Locale;String locale = Locale.getDefault().getLanguage();
方法2:
import android.content.res.Configuration;import android.content.res.Resources;Resources res = mContext.getResources();Configuration config = res.getConfiguration();String locale = config.locale.getCountry();
方法3:
import java.util.Locale;String locale = Locale.getDefault().toString();
android每个应用都保存着一份仅对自身有用的配置,被封装在 android.content.res.Configuration 类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。
首先获取 Configuration 对象:
- Resources resource = getResources();
- Configuration config = resource.getConfiguration();
然后设置 config 中的 locale 属性,选择需要的语言。
locale属性为一个Locale类的对象,比如我们要设置应用的语言为英语,那么可以这样实现:
- config.locale = Locale.ENGLISH;
或者要设置成系统默认的语言:
- config.locale = Locale.getDefault();
最后,需要更新配置文件,执行下面的代码:
- getBaseContext().getResources().updateConfiguration(config, null);
语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,目前比较通用的做法是重新启动应用:
- Intent intent = new Intent();
- intent.setClass(this, MainActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- this.startActivity(intent);
另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化:
- <activity
- android:name=".MainActivity"
- android:label="@string/title_activity_main"
- android:configChanges="locale" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
具体的实现请参考Demo: LanguageChangeDemo
下载地址:https://github.com/hanyi/LocaleChangeDemo.git
阅读全文
0 0
- Android 判断当前系统语言
- Android判断当前系统语言
- Android 判断当前系统语言
- Android 判断当前系统语言
- Android 判断当前系统语言
- Android 判断当前系统语言
- android判断当前系统的语言
- Android判断当前系统使用的语言
- iOS判断当前系统语言
- 如何判断当前系统语言
- android判断当前系统用的是什么语言
- android判断当前系统用的是什么语言
- android判断当前系统用的是什么语言
- Android开发实用技巧:判断当前系统语言版本
- Android判断国家以及系统当前的语言
- 【Android】 获取当前系统语言
- android判断当前系统版本的等级
- Android如何判断系统语言
- 数据类型和 Java 基础面试问题(一)
- Linux Unit16--系统的分区
- HDU3966 Aragorn's Story(树链剖分+线段树)
- phandle
- ROS与Python入门教程-制作Makefile文件
- Android 判断当前系统语言
- Ubuntu 16.04中安装Sublime Text 3并安装Package Control插件
- UNIX网络编程(unp)源码下载和编译
- 洛谷 2898 [USACO08JAN]haybale猜测Haybale Guessing
- 第八周 【项目8-稀疏矩阵的三元组表示的实现及应用】
- 数据库表索引创建脚本
- 判断网络状态
- 第十周项目1-验证算法(1)
- Android Studio出现Failed to open zip file问题的解决方法