动态改变 imageview 对应的图片资源
时间: 2024-09-06 12:05:48 浏览: 54
Android-CaptchaImageView自定义ImageView生成验证码图片
在 Android 开发中,动态改变 ImageView 对应的图片资源通常有两种常见的方式:
1. **通过代码设置**:
- 使用 `setImageResource(int resId)` 方法,传入你想更换的图片资源 ID。例如:
```java
int.setImageResource(R.drawable.new_image);
```
- 或者使用 `setImageBitmap(Bitmap bitmap)` 设置位图对象:
```java
Bitmap newBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.new_image);
imageView.setImageBitmap(newBitmap);
```
2. **通过 `srcCompat` 属性** (适用于使用 AppCompat 库并处理矢量图的情况):
- 当你在 XML 中使用 `srcCompat` 属性,可以在运行时动态更新资源ID:
```xml
<ImageView
android:srcCompat="@drawable/default_image"
android:onClick="changeImage" />
```
然后在对应的 Activity 或 Fragment 中处理 onClick 事件,更新 `srcCompat`:
```java
private void changeImage(View view) {
imageView.setImageResource(R.drawable.new_image);
}
```
记住,每次修改都会触发 ImageView 的绘制操作,因此尽量减少不必要的刷新。
阅读全文