本文已同步至个人博客:liyuyu.cn

近期在项目中使用到了国际化多语言(英文+中文),但在使用时发现了一个问题。当屏幕旋转后。APP语言(中文)自己主动转换为了系统语言(英文)。设置了Activity的android:configChanges="orientation|screenSize"属性也无效。于是求助Stackoverflow,你懂的,最后问题攻克了。于是整理了此文以作參考。

1.新建FunctionApplication类继承Application。覆写onConfigurationChanged。代码例如以下:

public class FunctionApplication extends Application{

@Override

public void onConfigurationChanged(Configuration newConfig) {

// TODO Auto-generated method stub

super.onConfigurationChanged(newConfig);

toChinese();

}

public void toChinese()

{

String languageToLoad = "zh";

Locale locale = new Locale(languageToLoad);

Locale.setDefault(locale);

Configuration config = getResources().getConfiguration();

DisplayMetrics metrics = getResources().getDisplayMetrics();

config.locale = Locale.SIMPLIFIED_CHINESE;

getResources().updateConfiguration(config, metrics);

}

}2.改动AndroidManifest.xml文件。application节点指定为我们自己定义的FunctionApplication

android:name="com.xxx.xxxx.FunctionApplication"

android:allowBackup="true"

android:configChanges="orientation|screenSize|locale"

android:icon="@drawable/icon"

android:label="@string/app_name"

android:theme="@style/AppTheme" >至此。旋转屏幕后语言失效的问题就可攻克了。

查阅了相关资料。发如今屏幕旋转时触发onConfigurationChanged(Configuration

newConfig)方法时。这个newConfig取的是系统的,这就是为什么语言会切换到系统语言的原因。所以在这里我们再次设定下locale就能够了。

android国际化设置语言后不起作用,Android旋转屏幕后国际化语言失效的解决的方法...相关推荐

  1. android国际化设置语言后不起作用,Android支持国际化多语言那点事(支持8.0+)

    起因 我们在开发app可能会拓展国外市场,那么对包含英语在内的其它语言支持就很有必要了. 效果 思路 一:添加相关资源文件,并引用. 二:设置configuration,configuration里面 ...

  2. 手机android主题设置在哪里,手机如何安装Android主题

    手机如何安装Android主题 很多人用的智能手机用的是Android系统,那么大家知道要手机如何安装Android主题呢?下面一起来看看! 1.使用数据线连接计算机和手机,并运行91手机助手,点击界 ...

  3. Android Studio设置代理后显示:Cause: dl.google.com:443 failed to respond错误

    以前在Android Studio 的Preference设置中,设置了socks代理后,就能够正常的进行更新和自动下载依赖,最近老是有问题,今天在添加了新的依赖后,点编译按钮就显示 Cause: d ...

  4. c语言空循环的作用是什么意思,C语言空循环和无穷循环有的区别

    跟大家普及下空循环和无穷循环的概念,空循环并不会无休止地进行下去–在重复预先指定的次数后,它就会退出循环.无穷循环会无休止地进行下去,并且永远不会退出循环.把空循环和无穷循环对比一下,就能很好地说明它 ...

  5. c语言字面量的作用是为变量,C语言 字面量

    在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...

  6. c语言字面量的作用是为变量,C语言(五) C 全局变量,局部变量,静态变量和常量...

    一. 全局变量 全局变量是在所有函数体的外部定义的,程序的所有部分(其他文件的代码)都可以使用.全局变量不受作用域的影响.全局变量的生命周期一直到程序的结束,全局变量是静态存储方式. 例: #incl ...

  7. android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...

    我只是想开始在Android中进行开发.因此,问题是当我尝试通过发出命令emulator @ A2来启动仿真器时,屏幕上会出现一个仿真器.但是即使等待了2-3个小时,它所显示的只是一个黑屏.甚至没有a ...

  8. Android studio设置相机权限,如何强制将“android.permission.CAMERA”权限添加到Codename中的清单中...

    我试图在Codename One中显示后置摄像头的实时预览.我使用原生界面(我首先针对的是Android). 为了让我的应用程序能够使用相机而不会弄乱构建提示,我在主窗体中添加了以下行: if (Ca ...

  9. android 代码设置 键盘适应_详细讲解Android修改键盘文字的方法

    1.首先,针对EditText的设置 在xml布局中,针对EditText的设置. android:layout_width="match_parent" android:layo ...

最新文章

  1. 使用深度学习和OpenCV的早期火灾检测系统
  2. win10 Linux子系统 交叉编译器注意事项
  3. Java并发编程(9):死锁(含代码)
  4. 监控系统或者网站服务器的报警及复位,机房监控系统标准和常见故障
  5. ☆聊聊Spring系列_Index
  6. jquery+bootstrap实现tab切换, 每次切换时都请求数据, 点击提交分别向不同的地址提交数据...
  7. [原创] GSM/GPRS 以及CDMA区分以及相关模块选型
  8. 基于事件驱动架构构建微服务第12部分:向Apache KAFKA生成事件
  9. 基于优化反馈的组合在线学习
  10. jtopo绘图帧数与cpu使用率
  11. 阿里开源mysql监控_Alibaba-技术专区-开源项目之Druid数据库监控平台
  12. UVA490 Rotating Sentences【输入输出+水题】
  13. 配置gem5-gpu docker版
  14. char op c语言,C语言基本编程练习.doc
  15. 移远EC20 R2.0 AT指令拨号流程
  16. 基于QT的UDP测试工具
  17. libmaxminddb
  18. centos6.8安装anjuta
  19. MySQL模糊查询用法大全(正则、通配符,mybatis入门
  20. 数据仓库是什么?和数据库有何区别?

热门文章

  1. Vite 源码解读系列(图文结合) —— 本地开发服务器篇
  2. 信息学竞赛学习资料整理
  3. PostgreSQL 服务启动不了问题
  4. 计算机中心2018年工作总结,2018年计算机程序员的年终工作总结范文
  5. 变分贝叶斯、Variational Inference
  6. stm32无源蜂鸣器定时器_stm32定时器实现PWM输出控制无源蜂鸣器(HAL)
  7. BSON及BSON和JSON的区别
  8. MBA案例分析(沟通)
  9. 赠书 !豆瓣 9 分以上的书籍,成为 Java 大佬必看!
  10. Java中级开发面试题