package com.ttstd.dialer.annotations; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.databinding.BindingAdapter; import com.bumptech.glide.Glide; import com.ttstd.dialer.R; public class ImageViewAdapter { @BindingAdapter("android:src") public static void setSrc(ImageView view, Bitmap bitmap) { view.setImageBitmap(bitmap); } @BindingAdapter("android:src") public static void setSrc(ImageView view, int resId) { view.setImageResource(resId); } @BindingAdapter("imageUrl") public static void setSrc(ImageView imageView, String url) { Glide.with(imageView.getContext()) .load(url) .error(R.mipmap.ic_launcher) .centerCrop() .into(imageView); } /** * 自定义设置图片属性 - 在匹配时自定义命名空间会被忽略 */ @BindingAdapter({"imageUrl", "error"}) public static void loadImage(ImageView imageView, String url, Drawable error) { Glide.with(imageView.getContext()) .load(url) .error(error) .into(imageView); } @BindingAdapter({"imageAvatarUrl", "error"}) public static void loadAvatarImage(ImageView imageView, String url, Drawable error) { Glide.with(imageView.getContext()) .load(url) .error(error) .into(imageView); } }