Glide设置圆角图片后设置ImageVIew的scanType="centerCrop"无效解决办法

在Glide3.0中,当设置ImageView的scaleType为centerCrop时,可能会导致Glide设置的圆角图片效果失效。原因是centerCrop内部也调用了transform方法。解决方法是将两个效果放在同一个transform里。在Glide4.0及以上版本,由于.transform方法参数变化,需要修改GlideRoundTransform,让它继承CenterCrop而非BitmapTransformation,然后正确引用,问题即可解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Glide3.0
出现原因:看centerCrop()方法的源码可知,也是需要调用transform()方法的.所以前后共用CenterCrop会覆盖掉GlideRoundImage的效果

public BitmapRequestBuilder<ModelType, TranscodeType> centerCrop() {
        return transform(glide.getBitmapCenterCrop());
    }

解决办法:2个效果同时放在transform里面就可以解决问题了。

.transform(new CenterCrop(Context context),new GlideRoundTransform(Context context,5))

Glide4.0
使用了glide4.0.0 +后,.transform方法参数改变,不能添加new CenterCrop(Context context)方法,修改GlideRoundTransform 继承CenterCrop 不在继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值