PhotoDraweeView icon indicating copy to clipboard operation
PhotoDraweeView copied to clipboard

设置ActualImageScaleType缩放类型

Open bu2zhouzhu opened this issue 5 years ago • 1 comments

自问自答了,当作笔记给自己和有同样需求的朋友: 需求:像微信那样,区分图片和表情(通常是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 缩放类型的基础上:

  1. 如果你需要缩放功能,使用 photoView.setPhotoUri() 方法
  2. 如果你不想让用户能够缩放表情,使用 photoView.setImageURI() 方法

这个就看你们产品怎么要求了

参考:缩放

bu2zhouzhu avatar Apr 01 '19 04:04 bu2zhouzhu

  1. 控件默认缩放只支持 FIT_CENTER。其他缩放类型放大缩小表现可能不一致。
  2. 禁用缩放可以调用 setEnableDraweeMatrix(false)

ongakuer avatar Apr 01 '19 05:04 ongakuer