Android切换语言不重启应用的解决方案

代码:https://github.com/WaterYuanData/Camera2New/tree/SwitchLanguage/testlanguage

  • Android程序多语言切换不需要重新启动的解决方案
    多数给出的方案是重新启动activity或者重新setContentView,但是微信却能办到不重启又能修改语言,怎么办到的呢?
    首先定义一个多语言切换支持的自定义控件,整个app涉及到多语言的布局的地方都要使用它,控件初始化的时候获取string资源id,保存string资源id,settext的时候要更新string资源id,切换语言的时候用上文所提供的代码,设置完语言后(假设设置成中文),如果重新通过string资源id设置text,那么就会显示中文文字,如果我们不主动去更新,他们就不自觉了,所以我们需要对所有的多语言支持的自定义控件进行更新,方法就是通过发送
    消息给每一个activity,activity收到后,拿出自己的view,把全部子view列举一次,如果是多语言支持的自定义控件,就更新它

https://blog.csdn.net/u010499721/article/details/51260456

  • Android程序多语言切换不需要重新启动的解决方案
    android:configChanges="locale|layoutDirection 这里同样存在一个问题,4.2之前的系统只需要设置locale,4.2+就得多设置layoutDirection这个配置,不然onConfigurationChanged依旧不会被回调。
已验证必须layoutDirection 

参考:https://blog.csdn.net/q919233914/article/details/52237472

更多相关文章

  1. LinearLayout中的控件两端对齐
  2. android中使用自定义控件checkbox,ToggleButton,ProgressBar
  3. Android之TextView动态设置图片
  4. android 开发实现悬浮窗体
  5. 使用ActivityGroup来切换Activity和Layout
  6. EditText的几个小点
  7. Android(安卓)- NullPointerException
  8. Android(安卓)EditText 密码输入框可见性设置。
  9. 自定义ViewGroup控件 textView 的ellipsize end 属性无效

随机推荐

  1. android 图片剪裁 ,从android自带图库提取
  2. Android资源文件夹及资源文件的详细介绍
  3. 做纯粹的 Android
  4. 19 个 Android 开发工具
  5. Android定时任务的实现方式
  6. 关于Android捕捉异常崩溃日志的Crash
  7. Android(安卓)Studio导入项目又双双踩了
  8. Android 切换系统语言源码分析
  9. Android小项目--简易计算器
  10. 一点关于android的个人感受