Android自定义缩放ImageView
支持手势缩放的自定义 ImageView,在图片浏览场景下真挺实用的。系统默认的 ImageView 功能太基础了,想实现两指缩放、滑动查看细节?还得靠自己写。
用ScaleGestureDetector配合GestureDetector来缩放和平移手势,识别准确,响应也快。缩放操作其实就是改Matrix的 scale 和 translate 值,Android 自带的Matrix类就能搞定,省事。
重写onDraw()方法,把修改后的Matrix应用到 Canvas 上,配合drawBitmap(),图片缩放、平移都能自然过渡。哦对,onTouchEvent()别忘了,把触摸事件交给手势检测器就行。
想要交互更顺滑点?加个ValueAnimator,做个缩放过渡动画,效果还挺惊艳的。还有边界检查也要做,图片可不能随便飘出控件范围,体验一塌糊涂。
遇上大图加载,可以设inSampleSize来优化内存。硬件加速开一下,渲染速度提升不止一点半点。要是用户旋转屏幕,还得记得保存Matrix状态,用onSaveInstanceState()和onRestoreInstanceState()搞定。
照片查看、地图浏览这类场景用得上这个控件。如果你也在做类似项目,写个自己的ZoomImageView,比网上扒的库靠谱多了,维护也方便。
com.zhuxiaohao.zoomimageview_01.zip
预估大小:47个文件
com.zhuxiaohao.zoomimageview_01
文件夹
bin
文件夹
classes.dex
802KB
res
文件夹
crunch
文件夹
drawable-hdpi
文件夹
ic_launcher.png
6KB
drawable-xhdpi
文件夹
ic_launcher.png
9KB
drawable-xxhdpi
文件夹
...
文件大小:1.99MB
评论区