OnTouchListener可用来监听屏幕的touch事件,事件数据使用MotionEvent类,它里面包含了以下数据:有几个点,每个点的坐标,判断当前行为(落下、移动、抬起)。
难点在于如何通过MotionEvent中的相关数据,准确判断当前的行为。如果不能准确判断,会导致所操作的图片出现闪动。
考虑这样一个操作:窗口上显示了一张图片,用户可以用手指移动、放大缩小、旋转它。既可以一个手指,又可以多个手指(两个或更多),如何让图片的处理既符合用户的期望,又很流畅呢?
比如移动图片,用户既可以一个手指,又可以多个。如果是多个的话,在移动过程中,手指之间的位置还可能发生变化。
比如放大缩小图片,如果用户使用多个手指,在放大时以哪些手指为准?
这篇文章非常好,一定要好好看:
http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html