① android中怎么实现动态设置背景图片的功能,我在网上搜到的只能设置到当前的页面,并不能实现设置到全部
当关闭重新运行,它又会自动跳回原始的背景图片。
在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下。在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bin下的res文件夹中的资源文件进行打包,而图片用的还是第一次eclipse所拷贝进去的文件,所以当运行程序后会发现替换资源图片在程序中没起作用。
解决办法:每次运行前,清理项目
动态设置背景图片代码
privateinti=0;//全局变量定义,初始化
//list数组接收到从文件中读取到的数据
List<String>list=readTxt.getDierguanResource();
//changeBack这个函数用来动态设置背景图片
publicvoidchangeBack(intbackground){
main=(LinearLayout)findViewById(R.id.shizi);
Stringa=list.get(background);
//获取到的背景图片名as(图片存到res/drawable文件下)
Stringas=a.split("")[1];
//动态获取图片getResources().getIdentifier(as,"drawable",getPackageName())
intresID=getResources().getIdentifier(as,"drawable",getPackageName());
//设置页面背景setBackgroundResource()
main.setBackgroundResource(resID);
}
if(i>=0&&i<list.size()){
changeBack(i);
}