本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020
上节实现了查看图片及录音的功能,其中查看图片,可以调用系统的图库来查看图片,也可以自定义Activity来查看图片,今天就在上节的基础上,实现手势缩放与拖拽图片。
想必大家都用过系统的图库,浏览图片时,可以通过手势放大或缩小图片,旋转图片,拖拽图片等功能,我们也为自已定义的查看图片的Activity增加手势缩放与拖拽图片的功能,效果如下图:
上面四幅图中,演示了通过手势(多点触控)来缩小,放大,拖拽图片。
这里主要是用到了多点触控,所以我们首先要知道多点和单点的区别。
单手指操作过程: ACTION_DOWN-ACTION_MOVE-ACTIOIN_UP
多手指操作过程:ACTION_DOWN-ACTION_POINTER_DOWN-ACTION_MOVE-ACTION_POINTER_UP-ACTION_UP
一般实现图片的缩放都是用Matrix的postScale方法,那么通过手势(多点)来缩放图片当然也不例外,区别就是通过手指的滑动来判断缩放的比例及中心位置,具体做法如下: