項(xiàng)目中經(jīng)常會(huì)用到BindingAdapter自定義XML屬性值來綁定,例如圖片
@BindingAdapter("imageUrl")
public static void setImageUrl(ImageView imageView, String imageUrl) {
ImageLoadUtils.loadImageUrl(getApplicationContext(), imageUrl, imageView);
}
XML中設(shè)置
<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:imageUrl="@{item.imageUrl}"/>
但有時(shí)候可能需要多參數(shù)流纹,例如圖片加載需要占位圖和錯(cuò)誤圖
@BindingAdapter(value = {"imageUrl", "placeDrawableId", "errorDrawableId"}, requireAll = true)//requireAll表示所有參數(shù)都必須有
public static void setImageUrl(ImageView imageView, String imageUrl, int placeDrawableId, int errorDrawableId) {
ImageLoadUtils.loadImageUrl(getApplicationContext(), imageUrl, placeDrawableId, errorDrawableId, imageView););
}
XML設(shè)置
<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:imageUrl="@{item.imageUrl}"
app:placeDrawableId="@{item.placeDrawableId}"
app:errorDrawableId="@{item.errorDrawableId}"/>