使用framlayout的imageview的background与setImageBitmap冲突
时间: 2023-06-12 13:07:24 浏览: 84
在使用 `FrameLayout` 布局中的 `ImageView` 控件时,如果同时设置了 `background` 和 `setImageBitmap` 属性,可能会出现冲突,导致显示异常。这是因为 `background` 属性会覆盖掉 `setImageBitmap` 所设置的图片,导致图片无法显示。
解决这个问题的方法有两种:
1. 去掉 `background` 属性:如果不需要设置 `background`,可以直接去掉该属性,只设置 `setImageBitmap`,这样图片就可以正常显示了。
2. 使用 `ImageView` 的 `src` 属性:`src` 属性是设置 `ImageView` 显示的图片,而 `background` 则是设置 `ImageView` 的背景颜色或背景图片。因此,如果要同时设置背景和显示的图片,可以将 `background` 改为设置 `ImageView` 的 `src` 属性,这样就不会与 `setImageBitmap` 冲突了。
以下是示例代码:
```xml
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/image"
android:background="@color/background_color" />
</FrameLayout>
```
其中 `@drawable/image` 是要显示的图片资源,`@color/background_color` 是要设置的背景颜色或背景图片资源。通过设置 `src` 属性,图片就可以正常显示了。
阅读全文