使用自定义 Glide 目标滑动圆角图像

首先制作实用程序类或在类中使用此方法

public class UIUtils {
public static BitmapImageViewTarget getRoundedImageTarget(@NonNull final Context context, @NonNull final ImageView imageView,
                                                        final float radius) {
    return new BitmapImageViewTarget(imageView) {
        @Override
        protected void setResource(final Bitmap resource) {
            RoundedBitmapDrawable circularBitmapDrawable =
                    RoundedBitmapDrawableFactory.create(context.getResources(), resource);
            circularBitmapDrawable.setCornerRadius(radius);
            imageView.setImageDrawable(circularBitmapDrawable);
        }
    };
}

载入图片:

Glide.with(context)
     .load(imageUrl)
     .asBitmap()
     .into(UIUtils.getRoundedImageTarget(context, imageView, radius));

因为你使用 asBitmap(),动画将被删除。你可以使用 animate() 方法在此处使用自己的动画。

具有类似淡入默认 Glide 动画的示例。

Glide.with(context)
     .load(imageUrl)
     .asBitmap()
     .animate(R.anim.abc_fade_in)
     .into(UIUtils.getRoundedImageTarget(context, imageView, radius));

请注意,此动画是支持库私有资源 - 不建议使用,因为它可以更改甚至删除。

请注意,你还需要支持库才能使用 RoundedBitmapDrawableFactory