Glide與圓形圖片CircleImageView的哪些坑


glide加載圖片設置到circleimageview時,會出現只顯示默認圖片的問題,代碼如下

Glide.with(context).load(BicDroidApiConstant.BASEURL + "/" + bean.getImagePath()).placeholder(R.drawable.defaultusericon_1).into(vh.userIcon);

去掉placeholder(R.drawable.defaultusericon_1)后可正常顯示, vh.userIcon 是 circleimageview。

解決辦法(使用glide本身的圓形圖標加載方式):(注意,這里面的 vh.userIcon就是普通的imageview,不是circleimageview)

Glide.with(context).load(imgUrl).asBitmap().centerCrop().placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(vh.userIcon) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable circularBitmapDrawable =
                            RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                    circularBitmapDrawable.setCircular(true);
                    vh.userIcon.setImageDrawable(circularBitmapDrawable);
                }
            });

 使用glide設置圓形圖標后,如果不設置縮放方式centerCrop(),會發現實際顯示圖片比默認圖片要小,可能時由於glide緩存尺寸的問題。

在實際開發中的效果就是,設置placeholder(R.drawable.defaultusericon_1)后,從默認圖標到原圖顯示有個過程,會發現切換為原圖時圖標變小了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM