Glide 加载矩形圆角图片

当我们在显示一张图片的时候,想让他等比例缩放到ImageView的大小,又想这张图片实现矩形圆角.

我们一开始会想到这么设置

.transform(new GlideRoundImage(getActivity()))
.centerCrop()

But,这样设置后,图片只有centerCrop效果,却没有矩形圆角效果.如图
在这里插入图片描述

但是这并不是我们想要的效果,然后会想着去掉centerCrop看看是怎样的

.transform(new GlideRoundImage(getActivity()))

结果却是这样的,没错! 图片并没有按比例缩放. 如图:
在这里插入图片描述
原因

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

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

解决方法:

.transform(new CenterCrop(getActivity()),new GlideRoundImage(getActivity()))

2个效果同时放在transform里面就可以解决问题了,效果图
在这里插入图片描述

附上矩形圆角的代码:,如下

源码地址:https://github.com/Alpha58/GlideRoundImage

Glide.with(context)
    .load(url)
    .transform(new CenterCrop(context), new GlideRoundTransform(context))
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .crossFade()
    .into(view);

转自: http://blog.csdn.net/Alpha58/article/details/56835558

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值