根据产品需求要把fitxy属性 改为centercrop,本以为很简单,但是修改完成之后发现没有效果。于是开始各种查询。最终找到方法,记录下:
原因到底是什么呢? 其实主要问题是在 centerCrop()方法里面。
看centerCrop()方法的源码可知,也是需要调用transform()方法的.所以前后共用CenterCrop会覆盖掉GlideRoundImage的效果:
public BitmapRequestBuilder<ModelType, TranscodeType> centerCrop() {
return transform(glide.getBitmapCenterCrop());
}
那么我们要怎么去解决呢? 方法如下:
Glide.with(context)
.load(url)
.transform(new CenterCrop(context), new GlideRoundTransform(context))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.crossFade()
.into(view);
2个效果同时放在transform里面就可以了