记录Android国际化图片资源的一个坑
来源:互联网 发布:淘宝cf卖号是真的吗 编辑:程序博客网 时间:2024/06/03 14:37
首先,背景:我在做国际化的时候,很多App,内部是没有做手动语言切换功能的。而我们由于业务需求,APP内部增加了手动切换语言的功能。
Android国际化,一般在切换语言以后,都会杀死APP,重启应用,以保证获取资源。(注:我们又是由于业务原因,为了增强体验,切换语言不重启APP,如果没有这个需求的,请无视下面的BUG)。
具体的切换逻辑就不说了,只说碰到的bug。我切换完语言以后,发现有几张图片资源没有切换成对应的语言下资源。我仔细检查代码,以及所有的逻辑,以及资源文件,全部都是对的。并且只要杀死APP,重启也能正确的加载对应的图片资源。这就很奇怪了,然后我反复查找网上资料,以及尝试各种方法。发现,假如你的 App 存在某个 activity 和当前设置页 activity 不在一个 task 栈内的话(比如你从某个通知页用 FLAG_ACTIVITY_NEW_TASK 启动的一个 activity),就不会应用语言设置。就是说,如果我们的Activity设置过NEW_TASK,就可能无法加载对应的图片。不过也有可能是因为图片加载以后,bitmapDrawable的cache引起的。水平不足,没有看过源码,不好说。
经过我不断的努力尝试,提供一个比较笨的方法给大家借鉴参考。
我把没有正常切换的图片资源做成selector。然后真的成功了。
最后,写文章的目的
1.希望有大神可以给我说明一下原因。
2.如果有和我一样的,帮助你们先解决需求,再去研究原因。
3.有不对的地方请指正。
阅读全文
0 0
- 记录Android国际化图片资源的一个坑
- Android代码资源的国际化
- Android代码资源的国际化
- Android代码资源的国际化
- Android代码资源的国际化
- Android代码资源的国际化
- Android代码资源的国际化
- Android代码资源的国际化
- Android获取图片资源的4种方式(记录)
- Android代码资源的国际化a
- Android的资源自适应与国际化
- 关于Android国际化的使用资源指定
- Android 资源和国际化
- Android 资源和国际化
- Android 资源和国际化
- Android 资源和国际化
- Android 资源和国际化
- android资源国际化
- 【栈 与 队列】
- F
- Android Studio把项目工程打成jar包
- Java随机生成常用汉字验证码
- 关于STL中vector使用unique()去重
- 记录Android国际化图片资源的一个坑
- WebRtc技术实现网页摄像头录制视频并上传服务器
- 边缘发光
- 数据库大批量SQL插入性能优化
- NetBeans如何使用slf4j输出日志
- 校园定制大神,如何打造回头率百分百文化衫
- 使用jq和css3自制横向左右滑动图片列表
- MFC工程更改按钮背景颜色,编辑框背景颜色,给按钮加载图片
- AngularJS 过滤器