BiuImageView的使用

Android  代码片段  2023年8月11日 am8:08发布1年前 (2023)更新 城堡大人
64 0 0

前言

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
3
多个隐藏块只需支付一次

全屏和非全屏切换

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

参考文章

  1. 自定义View:BiuImageView

  2. 自定义View:山寨PhotoView

 历史上的今天

  1. 2022: bootprof文件分析系统开机时间(0条评论)
  2. 2019: 叔本华:比读书更重要的是什么(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

CMD分割大文件简介

前言monkey测试或者煲机测试时,提供来的日志偶尔超过4-5G左右,这么大的日志不方便看。使用主流的文本编辑器NotePad++、EditPlus打开大文件很卡,而且搜索关键字也慢,偶尔也会无响应甚至崩溃。好记性不如烂笔头正文参考网上文件,可以对大文件进行分割比较小的。言归正传,下面开...

Settings源码分析之蓝牙(1)

源码:Android 6.0应用:Settings目录:Settings\src\com\android\settings\bluetooth 上一回我们简单分析了Settings加载和启动过程(《Android 6.0 Settings源码简单分析》),现在我们来看看S...

Visual Studio 2017常用部分快捷键

前言最近在使用VS2017温习C语言,这工具很多快捷键都忘了,这里记录部分,方便自己查阅,后续慢慢添加。正文1、代码片段多行注释step1、选中要注释的代码段;step2、按 Ctrl + K 键;step3、再按 Ctrl +C 键。2、代码片段取消注释step1、选中要取消注释的...

Android多线程介绍

前言记录一下Android主线程,子线程等相关知识。我们知道Android3.0后如果在主线程进行网络请求是会抛出异常的,这是为了避免主线程被耗时操作阻塞从而导致ANR。因此有必要学习一下子线程相关知识。正文搞懂什么是线程前,也需要搞懂什么是进程。什么是进程进程是操作系统结构的基础。...

启动startService()分析(2)

接上一篇《Android 6.0 启动startService()源码分析(1)》,依旧分析startService()启动过程。由于篇幅过长,分开记录,便于阅读。10.4 ActivityManagerProxy.attachApplication在上一篇中的代码中 【获取的又是Activi...

周作人:苦雨

伏园兄:北京近日多雨,你在长安道上不知也遇到否,想必能增你旅行的许多佳趣。雨中旅行不一定是很愉快的,我以前在杭沪车上时常遇雨,每感困难,所以我于火车的雨不能感到什么兴味,但卧在乌篷船里,静听打篷的雨声,加上欸乃的橹声以及“靠塘来,靠下去”的呼声,却是一种梦似的诗境。倘若更大胆一点,仰卧在脚划小船内...