Android国际化:资源+初始化+系统适配

本文详细介绍了Android应用的国际化实现,包括资源文件按语言分隔、Application和Activity的初始化设置以适应用户语言,应用内语言变更的处理,以及针对Android 7.0和8.0系统的系统适配和兼容性问题。特别强调了Android 7.0后的LocaleList管理和Android 8.0中全局上下文的语言设置问题。
摘要由CSDN通过智能技术生成

资源匹配

  • 字符资源values、布局资源layout、图片资源drawable,都可以在文件夹后添加国家后缀,放对应语言的资源。则系统会根据设置的语言自动去找对应语言的资源,如果没有设置的系统语言资源,则会拿去拿默认资源(values、layout、drawable文件夹下)。
  • 国家地区语言缩写代码:www.cnblogs.com/Mien/archiv…

工程内初始化设置

Application

  • 重写onCreate()方法,初始化设置语言;为全局Context设置语言,若不设置,用全局Context加载的资源不会去加载用户设置的语言类型的资源。
  • 重写onConfigurationChanged(Configuration newConfig)方法,再次初始化设置语言;当手机系统改变后,这个方法会回调,所以需要手动设置成用户选的语言,否则就跟随系统设置的了。

Activity

  • 重写onCreate()方法,初始化设置语言;这里,其实是为当前Activity的上下文设置语言,设置后就可以识别用户设置的系统语言。通常放在BaseActivity里处理。

应用内变更语言

  1. 用户语言设置后,本地sp保存的语言
  2. 应用内语
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值