使用Fresco的图片ScaleType问题

最近做图片上传的功能,图片选择使用的是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);

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


相机图标居中显示了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容