导航号,我的单页导航
文章目录

前言

BiuImageView是之前山寨PhotoView自定义View:山寨PhotoView》基础上重构的一个新版本自定义View:BiuImageView,也优化了很多。

今天就简单的用一下BiuImageView。

正文

什么是BiuImageView

我们知道有个开源的Baseflow的PhotoView

PhotoView 是一款扩展自 Android ImageView ,支持通过单点 / 多点触摸来进行图片缩放的智能控件。

特性:

  1. 支持单点 / 多点触摸,即时缩放图片;

  2. 支持平滑滚动;

  3. 在滑动父控件下能够运行良好;(例如:ViewPager)

非常不错,但有时候满足不了项目的需求,因此自己写了一个类似PhotoView。一开始是叫山寨PhotoView(《自定义View:山寨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;

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

全屏和非全屏切换

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

参考文章

  1. 自定义View:BiuImageView

  2. 自定义View:山寨PhotoView

© 版权声明
导航号,我的单页导航

暂无评论

暂无评论...