【android】在xml文件中定义drawable数组、id数组等
来源:互联网 发布:知乎付费问答 编辑:程序博客网 时间:2024/05/16 10:41
假如我们需要在代码中为一组view设置相对应的一组图片资源时(如为listview/gridview的所有item设置一组对应的图片时),我们就可以在xml中定义一组代表图片的drawable数组,然后用代码进行读取。
开始我是这样做的:
- <integer-array name="actions_images">
- <item>@drawable/pencil1</item>
- <item>@drawable/pencil2</item>
- <item>@drawable/pencil3</item>
- <item>@drawable/pencil4</item>
- <item>@drawable/pencil5</item>
- <item>@drawable/pencil6</item>
- </integer-array>
然后在代码中试图调用getResources().getIntArray来获取图片的id,可发现根本行不通。最终查stackoverflow给出了解决办法:
1、在xml中要这样定义:
- <string-array name="actions_images">
- <item>@drawable/pencil1</item>
- <item>@drawable/pencil2</item>
- <item>@drawable/pencil3</item>
- <item>@drawable/pencil4</item>
- <item>@drawable/pencil5</item>
- <item>@drawable/pencil6</item>
- </string-array>
2、在java代码中这样来获取:
- TypedArray ar = context.getResources().obtainTypedArray(R.array.actions_images);
- int len = ar.length();
- int[] resIds = new int[len];
- for (int i = 0; i < len; i++)
- resIds[i] = ar.getResourceId(i, 0);
- ar.recycle();
图片的id就保存在resIds中去了,然后我们就可以引用它(比如用img.setImageResourse(resIds[0]))来设置图片了。
同理,要想在xml中定义id数组,做法一样。
参考:http://stackoverflow.com/questions/6945678/android-storing-r-drawable-ids-in-xml-array
0 0
- 【android】在xml文件中定义drawable数组、id数组等
- android在xml文件中定义drawable数组、id数组等
- 【android】在xml文件中定义drawable数组、id数组等
- 在arrays.xml中定义drawable数组、id数组资源等...
- 关于在XML中定义drawable数组/id
- 在xml文件中定义图片数组
- android 读取array.xml 中String、int、drawable等数组及多维的方法
- Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- Android中通过xml资源文件定义数组
- (Android日常)从.xml中获取数组中的@drawable
- Android 系统工具类SystemUtils收集整理(持续更新)
- [kuangbin带你飞]专题一 简单搜索 M - 非常可乐 HDU 1495
- ubuntu14下nginx + php 安装方法(验证可行)
- 题目1489:计算两个矩阵的乘积
- Unbuntu下Android studio报Unable to recreate missing debug keystore错误
- 【android】在xml文件中定义drawable数组、id数组等
- onselectstart
- DP问题各种模型的状态转移方程
- CentOS 7.0 systemctl使用说明
- c++学习之OO思想
- 深拷贝与浅拷贝
- Android PopupWindow显示在控件上方或者下方
- 抽屉效果实现原理
- python 3, 字符串连接速度