使用自定義 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