当前位置:   article > 正文

(原创)获取系统语言方式及动态全局切换语言方式_resources.configuration.locale.language

resources.configuration.locale.language

(原创)获取系统语言方式及动态全局切换语言方式

1.获取当前系统语言

  1. Locale locale = Constants.context.getResources().getConfiguration().locale;
  2. String language = locale.getLanguage();//“zh”为中文,“en”为英文...

2.动态切换全局语言,注意:一般情况下都是需要关闭当前app再重新启动才不会崩溃,但是可以在清单文件配置后就可以实现不关闭情况下正常运行

(1).AndroidManifest.xml清单文件配置语言不跟随系统变化(避免用户手动到系统设置里面切换语言导致当前app崩溃的情况)
//其中android:configChanges="locale|layoutDirection|navigation|fontScale"作用就是不跟随系统语言变化</span>
  1. <activity
  2. android:name=".MainActivity"
  3. android:configChanges="locale|layoutDirection|navigation|fontScale"
  4. android:launchMode="singleTask"
  5. android:screenOrientation="portrait"/>
(2).当前app动态全局切换语言:注意这只是切换自身app当前全局语言而非手机系统的语言
  1. Configuration config = UIUtils.getResources().getConfiguration();
  2. if (”添加条件“) {//切换中文
  3. config.locale = Locale.CHINA;
  4. } else {//切换英文
  5. config.locale = Locale.ENGLISH;
  6. }
  7. //更新配置环境
  8. getContext().getResources().updateConfiguration(config, null);

注意:对于当前界面在不关闭的情况下只能在自身通过动态的重新setText()方式切换,其他跳转获取已经关闭了的界面就不用动态setText()。

3.最后也就是需要添加中英文res文件夹---里面存放需要切换的string字符串,注意中英文name="名称"里面的"名称"要中英文一致,切换语言系统会自动寻找(没有该文件夹自行创建)

values/string.xml为默认显示文本
values-en/string.xml为切换英文显示文本
values-zh/string.xml为切换中文显示文本





声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/255535
推荐阅读
相关标签
  

闽ICP备14008679号