前言
BiuImageView是之前山寨PhotoView 《》基础上重构的一个新版本《,也优化了很多。
今天就简单的用一下BiuImageView。
正文
什么是BiuImageView
我们知道有个开源的Baseflow的PhotoView
PhotoView 是一款扩展自 Android ImageView ,支持通过单点 / 多点触摸来进行图片缩放的智能控件。
特性:
支持单点 / 多点触摸,即时缩放图片;
支持平滑滚动;
在滑动父控件下能够运行良好;(例如:ViewPager)
非常不错,但有时候满足不了项目的需求,因此自己写了一个类似PhotoView。一开始是叫山寨PhotoView(《》),这个版本能用,但也有些缺点。
因此,抽空重构了一个新的版本,正名为BiuImageView。
哈哈哈,只是符合我自己需求,不一定符合你们的需求哈。
BiuImageView的使用
直接上代码
初始化
mBiuImageView = findViewById(R.id.main_iv_image_view); //非全屏高宽[1720,720]和全屏高宽[1920,720] //默认非全屏高宽[1720,720] mBiuImageView.initViewSize(1720, 720); mBiuImageView.setResetListener(this); mBiuImageView.setDoubleTapListener(this); mBiuImageView.setSingleTapListener(this); mBiuImageView.setScaleChangedListener(this); mBiuImageView.setViewSizeListener(this);
# 旋转 private void setRotate(float degrees) { if (null != mBiuImageView) { mBiuImageView.setRotation(degrees); } } # 放大 public void zoomIn() { if (null != mBiuImageView) { mBiuImageView.zoomIn(); } } # 缩小 public void zoomOut() { if (null != mBiuImageView) { mBiuImageView.zoomOut(); } } # 恢复默认 public void reset() { if (null != mBiuImageView) { mBiuImageView.reset(true); } }
图片的加载
这里用Glide
implementation 'com.github.bumptech.glide:glide:4.13.1'
//是否正在加载图片,默认不是 boolean mImageLoading = false;
全屏和非全屏切换
参考文章
《
- 《》
© 版权声明