8个月前
0
导航号,我的单页导航
文章目录

前言

之前整理过一个山寨PhotoView,也就是《自定义View:山寨PhotoView》,占了Baseflow的PhotoView的光。

后来有空,重新整理一下,出了一个新的版本,给其正名为BiuImageView。

很早就重写了,只是没时间更新和验证。

正文

BiuImageView是在山寨PhotoView是重构的,支持的功能也是一样的,接口也更丰富和实用。

  1. 支持左右旋转

  2. 支持缩放大小

  3. 支持双击点击处放大

  4. 支持手势缩放

  5. 支持手势移动

等,具体看下面使用

下载

隐藏内容!
评论后才能查看!

使用

//恢复默认(true有setResetListener的回调)
mBiuImageView.reset(true);
//显示区变化时恢复默认
mBiuImageView.resetView();
//设置旋转角度,支持+-
mBiuImageView.setRotation(90);//旋转90度
//获取当前scale
mBiuImageView.getCurrentScale();
//加载图片[一般Glide或picasso]
mBiuImageView.setImageDrawable(getDrawable(R.drawable.ic_launcher_foreground));
//设置监听
mBiuImageView.setResetListener(this);//恢复默认监听
mBiuImageView.setDoubleTapListener(this);//双击监听
mBiuImageView.setSingleTapListener(this);//单击监听
mBiuImageView.setScaleChangedListener(this);//图片scale变化监听
mBiuImageView.setViewSizeListener(this);//显示区高宽变化监听
//放大
mBiuImageView.zoomIn();
//设置放大系数( 1 , ∞ )  值越大变化越快
mBiuImageView.setZoomInScaleFactor(1.1f);//默认值
//缩小
mBiuImageView.zoomOut();
//设置缩小系数( 0 , 1 )  值越小变化越快
mBiuImageView.setZoomOutScaleFactor(0.9f);//默认值
//设置缩放最小scale
mBiuImageView.setMinScale(0.2f);//默认值
//设置缩放最大scale
mBiuImageView.setMaxScale(5.0f);//默认值
//设置双击放大scale
mBiuImageView.setTapDScale(5.0f);//默认值
//是否可以双击
mBiuImageView.setCanDoubleTap(true);
//是否可以多点拖动图片
mBiuImageView.setCanPointerMove(true);
注意事项

正常情况,都用这个reset()方法可以恢复默认,但在改变View显示区域(高宽)时又要恢复默认,那就需要使用resetView()。

参考文章

  1. 自定义View:山寨PhotoView

赏一杯可乐

如果觉得OK,欢迎打赏一杯可乐哈,谢谢

有bug,欢迎留言

导航号,我的单页导航

暂无评论

暂无评论...