最近做图片上传的功能,图片选择使用的是crazycodeboyTakePhoto 框架,TakePhoto的图片加载需要Fresco的支持,因此图片的显示用到了SimpleDraweeView。

最开始在代码中显示图片的时候是这种效果:

在GridView中显示图片

前面一个图片是通过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);

这样就可以设置我们想要的图片效果了

相机图标居中显示了


Last modification:December 3rd, 2019 at 01:53 pm
If you think my article is useful to you, please feel free to appreciate