zoukankan      html  css  js  c++  java
  • 关于图片资源在android2.1/2.2/2.3下无法显示的问题以及解决方法

    这些天在写android应用,遇到了一件很诡异的事情:

    某个图片资源作为背景被设置到layout上,在eclipse的layout设计界面内能显示,但是启动模拟器后图片完全无法显示;我将应用打包到真机上测试,发现图片能显示!

    但事实远未那么简单。。后来我将应用打包给我的几个朋友测试,发现图片又是无法显示。

    其中,我的应用支持的版本是2.1,模拟器版本是2.1,我的机器版本是4.0,两个朋友的机器分别是2.1和2.3。于是我猜想该图片在2.1和2.3上不兼容,于是单独建立一个工程,对该图进行测试,结果发现都能显示。

    为什么这个图在我的应用上无法显示,在测试应用上可以显示,而且还是和版本相关。。。

    经过一番折腾和各种假设以及实验找到了解决方法:

    该图的名字是a打头,所以排在第一个,android自动产生R类资源索引,该图的索引值是0x7f040000,后面都是0有木有!我发现只要是索引是0x7f040000的图片资源,在我的应用中都是无法显示,所以我就再扔进去一张没用的图片取名叫aaa.png让它排在第一个占用掉0x7f040000这个索引,然后,一切都正常了。

    疑问:虽然问题解决了,但是为什么在测试工程中同样图片资源索引是0x7f040000也是可以显示呢?我猜想可能是我的应用中使用到了别的一些xml定义的drawable资源产生的冲突吧,也许是android的bug,但具体这个问题是如何产生的,还是没搞清楚。。。

  • 相关阅读:
    背下来就是电脑高手(转)
    split+ Pattern切割字符串
    java中方法中声明三个点“...”作用
    MRUnit测试
    configuration默认设置
    chmod|chown|chgrp和用法和区别
    hadoop 一些文件操作
    关闭SVN服务
    Hadoop如何计算map数和reduce数
    链式mapreduce
  • 原文地址:https://www.cnblogs.com/flash3d/p/2454918.html
Copyright © 2011-2022 走看看