自定义View:BiuImageView

2023年8月7日 pm7:17发布1年前 (2023)更新 91es.com站长
326 0 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,欢迎留言

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

林白:过程

一月你还没有出现二月你睡在隔壁三月下起了大雨四月里遍地蔷薇五月我们对面坐着 犹如梦中 就这样六月到了六月里青草盛开 处处芬芳七月,悲喜交加 麦浪翻滚连同草地 直到天涯八月就是八月八月我守口如瓶 八月里我是瓶中的水 你是青天的云九月和十月是两只眼睛,装满了大海你在海上 我在海下...

抱歉,125啦下架了

由于国庆前不小心把125la.com域名设置错价钱,被抢注了,没有域名只好下架了!购买了新的域名www.91es.com进行替换,更名为【91易搜】。虽然上架了,但还在慢慢修改,即将推出更简洁的网址导航! 

Android中ImageView半边圆角处理记录2

前言之前介绍过对ImageView进行圆角处理,具体文章《Android中ImageView半边圆角处理记录 -91易搜 - 阅读是一种生活方式 ()》,后面发现网上还有一种更简单的一种方式。有点:代码少,简单缺点:边界不够圆滑(存在锯齿)正文具体效果如下(左侧是RoundImage...

关于插入部分无线鼠标Android应用重启问题

前言在Android 9.0的项目中,测试工程师验证问题时插入某些USB的无线鼠标,会导致当前的APK会销毁然后重启一次,重新走一次生命周期。Activity为啥会重启?为什么会重启?我们大概率的知道,一般App重启大致有如下原因:APP异常了(微信存在这样的问题,闪退重启)机器状...

Fragment的简单使用

多用几次就熟悉了。以防止忘记,因此附上代码于此。(图片来自Android官网)零、Fragment的生命周期一、布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x...

丝绒陨:年轻人,请忍受一下

暂时,你还需要忍受一下在可以忍受的范围之内或者刚好超出一点,这没什么就像可以承受海盐,可以承受灯塔的遥远亲人离去,朋友疏远……薄荷味的烟此刻正充满这间促狭的屋子在你年轻的时候,不会想到如今你选择在一间昏暗的屋子里住下在城市的肋骨间,感受一成不变的节拍要相信,所有妻子都会出轨。价格不...