为了账号安全,请及时绑定邮箱和手机立即绑定

Android如何根据xml文件来读取不同的drawable资源

Android如何根据xml文件来读取不同的drawable资源

jeck猫 2019-04-13 08:36:52
现在有一个ImageView,它的图片是动态随机地从几个drawble文件中选取一个。比如说bkg_item_1,bkg_item_2,bkg_item_3...等。我想在values下建一个xml文件来存放这些可选项,最好是通过或者等这样的来存放。这样就可以通过修改xml文件来控制ImageView背景可能出现的图片,而不必修改java代码。现在遇到的问题是我该保存这些drawable的什么内容?在代码中如何通过保存的内容来访问drawable文件?保存资源ID?类似R.drawble.bkg_item1,R.drawble.bkg_item2这样?可是编译器将其看作一段字符串而不是integer。保存名称?bkg_item1,bkg_item2这样?那在代码中该如何通过其名称来为ImageView设置背景?
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

我也遇到这样的问题:
在XML文件中声明资源ID数组
@drawable/ic_drawer_home_normal
@drawable/ic_drawer_follow_normal
@drawable/ic_drawer_collect_normal
@drawable/ic_drawer_register_normal
@drawable/ic_drawer_explore_normal
然后要获取ID需要通过TypedArray来获取
TypedArrayarray=context.getResources().obtainTypedArray(R.array.drawer_icon_normal);
for(inti$=0;i$drawables_normal[i$]=array.getResourceId(i$,R.drawable.default_profile);
}
array.recycle();
                            
查看完整回答
反对 回复 2019-04-13
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

可以在values文件夹下建立一个ids.xml文件
xml
@drawable/bkg_item1
然后ImageView的背景你设置为
xmlandroid:background="@drawable/customDrawable"
需要的时候你改变ids.xml中的配置就行
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 451 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号