实战经验:
1.app builder 添加Glide 依赖:
implementation 'com.github.bumptech.glide:glide:4.9.0'
step 2:
自定义object BindingAdapter 实现图片加载方法loadImage 如下:
object BindingAdapter {
/**
* A Binding Adapter that is called whenever the value of the attribute app:popularityIcon
* changes. Receives a popularity level that determines the icon and tint color to use.
*/
@BindingAdapter(value=["imageUrl", "placeHolder", "error"], requireAll = false)
@JvmStatic
fun loadImage(
imageView: ImageView,
url: String?,
holderDrawable: Drawable?,
errorDrawable: Drawable?
) {
Glide.with(imageView.context)
.load(url)
.placeholder(holderDrawable)
.error(errorDrawable)
.into(imageView)
}
}
step3:
在item 布局文件里使用如下:
<data>
<variable
name="data"
type="xxx.EvidenceOriginModel" />
</data>
<ImageView
android:id="@+id/iv_material"
android:layout_width="@dimen/px_220"
android:layout_height="@dimen/px_156"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:imageUrl="@{data.thumbUrl}"
android:background="@drawable/bg_e4e9f3_corner_4" />
完结,
看着简单,但是踩了点坑,如下图所示
企业微信截图_1671700654415.png
网友评论