现在有一个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();

慕的地6264312
TA贡献1817条经验 获得超6个赞
可以在values文件夹下建立一个ids.xml文件xml@drawable/bkg_item1 然后ImageView的背景你设置为xmlandroid:background="@drawable/customDrawable"需要的时候你改变ids.xml中的配置就行
添加回答
举报
0/150
提交
取消