PhotoDraweeView
PhotoDraweeView copied to clipboard
设置ActualImageScaleType缩放类型
自问自答了,当作笔记给自己和有同样需求的朋友: 需求:像微信那样,区分图片和表情(通常是gif)。图片用 fitCenter 缩放,填满屏幕;表情用centerInside。
一、缩放类型设置 centerInside
开始试着在 xml 中设置app:actualImageScaleType="centerInside"
,发现不起作用,原因是 Attacher
构造方法中调用了 draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
把 xml 中的设置给覆盖了。
在 java 代码中重新设置一次就可以了:
photoView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.CENTER_INSIDE);
二、是否允许双指以及双击放大或缩小
在 centerInside 缩放类型的基础上:
- 如果你需要缩放功能,使用
photoView.setPhotoUri()
方法 - 如果你不想让用户能够缩放表情,使用
photoView.setImageURI()
方法
这个就看你们产品怎么要求了
参考:缩放
- 控件默认缩放只支持 FIT_CENTER。其他缩放类型放大缩小表现可能不一致。
- 禁用缩放可以调用
setEnableDraweeMatrix(false)