Files
ElderlyDialer/app/src/main/java/com/ttstd/dialer/annotations/ImageViewAdapter.java
2025-10-20 21:30:28 +08:00

53 lines
1.5 KiB
Java

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);
}
}