Android上实现一个可缩放图片的ImageView
2019-12-31
关键字:放大缩小图片、图片预览控件
在 APK 开发过程中,有时可能会有需要预览图片的需求。
Android 自带的 ImageView 功能有限,仅能简单地展示图片。而在日常使用过程中,对图片预览至少都有以下几点刚性要求:
1、展示
2、双击放大
3、手势放大
4、移动局部图片
我们当然可以自己编写一个具有类似功能的 View 出来,但这属于造轮子,比较消耗时间与精力,一般不建议这样做。
笔者就在网上发现有这么一个 View,它完全满足我们上面提到的几点需求。现将这个 View 的源码放出来,一来是作为自己的备忘录,方便以后的取用。二来希望能给有同样需求的同学一些帮助。
必须声明的是:这份图片预览 View 的作者并不是笔者,且笔者也已经忘记从哪里找到这份代码的了(可能是在 Github 上找的,感谢原作者)。因为这份 View 代码是笔者好几年前用过的,现在再次发现,觉得它很有用,才记录下来的。
以下是这份代码的下载链接:
链接:https://pan.baidu.com/s/1tC2DUHl5Mk6G8_RtAjRBQA 提取码:ud68
这份代码是直接从笔者的项目中抠出来的,各们同学在往自己的项目中移植时肯定至少会遇到一些包名报错问题,这些小问题大家自行修改一下就好了。
这份代码的文件结构如下图所示:
将这些代码放进你的 APK 工程源码目录的合适位置,并在相关布局 xml 或 Java 代码文件中直接引用 PhotoView 类使用就行。
可以简单地将 PhotoView 类理解成是 ImageView 类,按照 ImageView 的用法来使用 PhotoView 就可以了。
另外,由于这份代码本质上仅仅是一个普通 View,而我们在预览图片的时候通常是会打开一个全屏的黑色界面,在中间展示出图片来预览的。因此,一般建议将这个 PhotoView 加载到一个 PopupWindow 中展示。
以下是笔者使用这个图片预览控件的代码,希望能给你起到参考使用:
最后,再次感谢这份代码的原作者。