欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

在Android开发中替换资源图片不起作用的解决方法

程序员文章站 2022-03-04 08:20:26
现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片。 原因 在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹 ......

现象

在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片。

原因

在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下。在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bin下的res文件夹中的资源文件进行打包,而图片用的还是第一次eclipse所拷贝进去的文件,所以当运行程序后会发现替换资源图片在程序中没起作用。

解决方法

把项目Clean一下就可以了。也可以手动删除bin目录下的res目录。

 

其它补充

Eclipse中的Android项目bin目录文件结构:

./classes/                          java文件编译出来的class文件

./dexedLibs/                     项目中引用的jar包

./res/                                资源文件,只包含图片不包含xml文件

./AndroidManifest.xml     复制自上层目录

./classes.dex                   Android系统中可以在Dalvik虚拟机上直接运行的文件格式;java源代码经过ADT的复杂编译后转换成Dex文件

./*apk                              最终生成的文件,可以直接安装到手机

./resources.ap_              资源文件打包成的中间文件