array.xml获取 drawable
时间: 2023-11-13 12:02:31 浏览: 43
您可以使用以下代码从res/drawable目录中获取Drawable资源:
```java
Drawable drawable = getResources().getDrawable(R.drawable.array);
```
请确保将"array"替换为您在res/drawable目录中实际使用的文件名。
相关问题
Android 资源文件中如何定义 drawable类型数组
要在Android资源文件中定义drawable类型的数组,您可以按照以下步骤进行操作:
1. 首先,创建一个XML文件,并将其放置在`res/values/`目录下(例如,`res/values/my_drawable_array.xml`)。
2. 在该XML文件中,使用`<array>`元素来定义数组字段,并在其中包含drawable资源的标识符。例如:
```xml
<resources>
<array name="my_drawable_array">
<item>@drawable/ic_drawable1</item>
<item>@drawable/ic_drawable2</item>
<item>@drawable/ic_drawable3</item>
</array>
</resources>
```
在上述代码中,我们创建了一个名为`my_drawable_array`的数组字段,并在其中定义了三个drawable资源的标识符。
3. 现在,您可以在代码中访问该数组,并使用资源标识符获取相应的drawable资源。例如,如果您想在Java代码中获取数组的值,可以执行以下操作:
```java
TypedArray drawableArray = getResources().obtainTypedArray(R.array.my_drawable_array);
Drawable drawable1 = drawableArray.getDrawable(0);
Drawable drawable2 = drawableArray.getDrawable(1);
Drawable drawable3 = drawableArray.getDrawable(2);
// 使用获取到的drawable资源进行后续操作
// 记得在不需要时回收TypedArray
drawableArray.recycle();
```
在上述代码中,我们使用`getResources().obtainTypedArray()`方法获取数组对象,并使用`getDrawable()`方法获取特定索引位置的drawable资源。
请注意,必须记得在不再需要时回收TypedArray对象,以避免资源泄漏。
这样,您就可以在Android资源文件中定义drawable类型的数组,并在代码中访问和使用它们了。
android studio的使用点击按钮for循环drawable的照片
您可以通过以下步骤在Android Studio中实现这个功能:
1. 在res/drawable目录下创建一个XML文件,例如images.xml,用于定义您要循环的所有drawable资源。
2. 在XML文件中,使用<item>标签定义每个drawable资源。例如,以下代码定义了三个drawable资源:
```
<items>
<item drawable="@drawable/image1" />
<item drawable="@drawable/image2" />
<item drawable="@drawable/image3" />
</items>
```
3. 在您的Activity中,创建一个ImageView对象,用于显示drawable资源。
```
ImageView imageView = findViewById(R.id.imageView);
```
4. 创建一个数组来存储所有的drawable资源。
```
TypedArray images = getResources().obtainTypedArray(R.array.images);
```
5. 在按钮的点击事件中,使用for循环来遍历drawable资源数组,并将它们设置为ImageView的src属性。
```
int index = 0;
for (int i = 0; i < images.length(); i++) {
index = i;
imageView.setImageResource(images.getResourceId(i, -1));
}
```
6. 最后,确保在Activity的onDestroy方法中释放TypedArray对象。
```
@Override
protected void onDestroy() {
super.onDestroy();
images.recycle();
}
```
这样,每次点击按钮,ImageView就会显示下一个drawable资源,直到遍历完所有资源为止。