Android 中定义图片的资源文件

时间:2022-12-27 19:54:28
  Android中定义图片的Id数组可以在java代码中直接通过new定义,之后使用,还有一种方法是在xml资源文件中直接定义,然后再java代码中通过函数可以获取xml代码中定义的资源文件。当然第二中方法更好一点
开始的时候我定义资源文件的时候是这样定义的
<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
来获取资源文件中定义的图片的资源文件,但是神奇的一幕发生了, 图片的地方是空白的,多次试验之后还是空白,屡试屡败,最后经过百度之后发现应该这样写:

<string-array 
name = "Main_List_Img_Array">
<item>@drawable/bomb10</item>
<item>@drawable/bomb11</item>
<item>@drawable/bomb12</item>
<item>@drawable/bomb13</item>
<item>@drawable/bomb14</item>
</string-array>

然后再java代码中应该这样获取资源文件:

TypedArray Img_Type_Array = getResources().obtainTypedArray(R.array.Main_List_Img_Array);
int[] Main_List_Img = new int[Img_Type_Array.length()];
for ( int i = 0; i < Main_List_Img.length; i++ )
{
Main_List_Img[i] = Img_Type_Array.getResourceId(i, 0);
}

经过本人试验,百试不爽。