Pich Blog

关注移动开发,大数据,云计算,软件架构!

6.使用GestureDetector简化手势识别

概述

在Android开发中,经常需要检测手势,常见的有单击,滑动,长按,双击等。

所以说还是很复杂的,用GestureDetector可以很方便的实现。

使用方法

创建GestureDetector

第一个参数位Context,第二个参数为OnGestureListener。

接管OnTouch事件

实现监听器

我们这里只是简单的打印。

方法解释

OnGestureListener

onDown:按下那一瞬间,由ACTION_DOWN触发

onShowPress:手指触摸屏幕,尚未松开或拖动,由ACTION_DOWN触发

onSingleTapUp:触摸后快速松开,伴随一个ACTION_UP触发,单击

onScroll:按下,并拖动,ACTION_DOWN,多个ACTION_MOVE。拖拽

onFling:按下,快速滑动,ACTION_DOWN,多个ACTION_MOVE,一个ACTION_UP触发。快速滑动

onLongPress:按住一会儿在松开。长按

OnDoubleTapListener

onDoubleTap:由两次连续的单击,他可能和onSingleTapConfirmed共存

onSingleTapConfirmed:严格单击,(他和onSingleTapUp区别是,如果触发了onSingleTapConfirmed,那么后面不可能在紧跟着一个单击行为,也就是说这肯定是单击,不可能是双击中的一次单击)

onDoubleTapEvent:表示发生了双击行为,在双击期间ACTION_DOWN,ACTION_MOVE,ACTION_UP都会调用。

常用方法又有,单击(onSingleTapUp),快速滑动(onFling),拖动(onScroll),长按(onLongPress),双击(onDoubleTap)

常用方法执行流

单击

onDown-onSingleTapUp-onSingleTapConfirmed

双击

onDown
onSingleTapUp
onDoubleTap
onDoubleTapEvent

onDown
onDoubleTapEvent

长按

onDown
onShowPress
onLongPress

拖动

onDown
onShowPress
onScroll
onScroll

快速滑动

onDown
onShowPress
onScroll
onScroll

onFling

开发建议

实际开发过程中完全可以在onTouch中自己监听,但是如果只是实现滑动完全可以自己监听,但是如果还需要实现双击,建议使用GestureDetector。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注