(原创)获取系统语言方式及动态全局切换语言方式
2016-04-19 10:45
393 查看
(原创)获取系统语言方式及动态全局切换语言方式
1.获取当前系统语言
Locale locale = Constants.context.getResources().getConfiguration().locale; String language = locale.getLanguage();//“zh”为中文,“en”为英文...
2.动态切换全局语言,注意:一般情况下都是需要关闭当前app再重新启动才不会崩溃,但是可以在清单文件配置后就可以实现不关闭情况下正常运行
(1).AndroidManifest.xml清单文件配置语言不跟随系统变化(避免用户手动到系统设置里面切换语言导致当前app崩溃的情况)
//其中android:configChanges="locale|layoutDirection|navigation|fontScale"作用就是不跟随系统语言变化</span>
<activity android:name=".MainActivity" android:configChanges="locale|layoutDirection|navigation|fontScale" android:launchMode="singleTask" android:screenOrientation="portrait"/>
(2).当前app动态全局切换语言:注意这只是切换自身app当前全局语言而非手机系统的语言
Configuration config = UIUtils.getResources().getConfiguration(); if (”添加条件“) {//切换中文 config.locale = Locale.CHINA; } else {//切换英文 config.locale = Locale.ENGLISH; } //更新配置环境 getContext().getResources().updateConfiguration(config, null);
注意:对于当前界面在不关闭的情况下只能在自身通过动态的重新setText()方式切换,其他跳转获取已经关闭了的界面就不用动态setText()。
3.最后也就是需要添加中英文res文件夹---里面存放需要切换的string字符串,注意中英文name="名称"里面的"名称"要中英文一致,切换语言系统会自动寻找(没有该文件夹自行创建)
values/string.xml为默认显示文本values-en/string.xml为切换英文显示文本
values-zh/string.xml为切换中文显示文本
相关文章推荐
- C#语言学习-while,do-while,switch-case的运用 int a = 13; do { a-=4; } while(a>4); Console.WriteLine(a);
- jQuery 事件方法大全-超全的总结
- java 读取excel内容转为JSONArray
- ss命令使用示例
- Asp.Net 网站一键部署技术(下)
- 欢迎使用CSDN-markdown编辑器
- mysql主从数据库不同步的2种解决方法
- yaf框架官方手册nginx配置错误
- Java虚拟机垃圾收集器与内存分配策略
- nginx下多项目跨域ajax实现
- 精通Tomcat之路-学习笔记之一:配置Tomcat
- Framework3.5 加载 System.Runtime.Serialization.Json
- 高效加载大图
- iOS7以后电池状态栏颜色设置
- TCP/IP、Http、Socket的区别
- Ubuntu中ssh 命令详解
- DB2获取CHAR字段数据的数据长度方法
- linux下逻辑地址-线性地址-物理地址图解
- 收集一些有意思的ASCII程序注释(持续收集中,希望大家踊跃贡献)
- Intent和PendingIntent的区别