创build资源ID的整数数组
我在我的res/drawable
文件夹中有一些图像。 比方说img1.png
, img2.png
和img3.png
。 我目前正在像这样在Java中创build这些图像ID的整数数组
int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3};
相反,是否有可能在res/values
文件(比如strings.xml
)之一中创build一个整数数组
<integer-array name="img_id_arr"> <item>@drawable/img1</item> <item>@drawable/img2</item> <item>@drawable/img3</item> </integer-array>
然后通过getResources().getIntArray(R.array.img_id_arr)
在Java中访问它getResources().getIntArray(R.array.img_id_arr)
?
只使用“数组”而不是“整型数组”。 请参阅开发人员指南中的Typed Array 。
请参阅XML整数数组,资源引用,getIntArray
TypedArray ar = context.getResources().obtainTypedArray(R.array.my_array); int len = ar.length(); int[] resIds = new int[len]; for (int i = 0; i < len; i++) resIds[i] = ar.getResourceId(i, 0); ar.recycle(); // Do stuff with resolved reference array, resIds[]... for (int i = 0; i < len; i++) Log.v (TAG, "Res Id " + i + " is " + Integer.toHexString(resIds[i]));
做一个LevelListDrawable 。 虽然这不完全是你想要的,但几乎可以实现。