最近做图片上传的功能,图片选择使用的是crazycodeboy的TakePhoto框架,TakePhoto的图片加载需要Fresco的支持,因此图片的显示用到了SimpleDraweeView。
最开始在代码中显示图片的时候是这种效果:
前面一个图片是通过takephoto从系统相册加载的图片,由file的Uri加载而成
后面一张图片是由项目图片加载而来,将resId转换为uri加载
Uri uri =newUri.Builder().scheme("res").path(String.valueOf(R.mipmap.upload_market_license)).build();
图片被放大加载了,mHolder.mImageView.(ImageView.ScaleType.CENTER);设置这个属性仍然没有效果
在逐层查看源码后发现
DraweeHierarchy 的一些属性可以在运行时改变。
要改变这些属性,首先获取一个引用:
GenericDraweeHierarchy hierarchy =mHolder.mImageView.getHierarchy();
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER);
这样就可以设置我们想要的图片效果了