GestureDetector使用

来源:互联网 发布:免费语音电话软件 编辑:程序博客网 时间:2024/06/15 16:18

GestureDetector提供了两个接口:OnGestureListener以及OnDoubleTapListener

一个内部类SimpleOnGestureListener;

使用方法利用public GestureDetector(Context context, #OnGestureListener listener)构造方法创建GestureDetector的对象,并将需要进行监控的空间setOntouchListener将触摸事件交给GestureDetector处理,return mGestureDetector.onTouchEvent(event);

OnGestureListener中事件响应的状况:

onDown:每次用户点击时都会首先触发;
onShowPress:事件超过瞬时的时候触发;
onSingleTapUp:短时间的点击触发,只要抬起就会触发;
onLongPress:长时间的点击事件;
onScroll:滑动事件,对应ACTION_MOVE事件;
onFling:滑动事件最终触发的函数,之前会有多次的onScroll时间;

OnDoubleTapListener使用,需要与OnGestureListener相同的手段,之后给GestureDetector设置继承了OnDoubleTapListener的对象,mGestureDetector.setOnDoubleTapListener(new MyDoubleListener());

OnDoubleTapListener中事件响应的状况:

onSingleTapConfirmed:一次单击事件,onSingleTapConfirmed响应,onDoubleTap与onDoubleTapEvent都不会再响应;
onDoubleTap:双击事件,onDoubleTap响应onSingleTapConfirmed一定不会响应在过程中会响应onDoubleTapEvent事件;
onDoubleTapEvent:双击事件中间发生的事件,onDoubleTapEvent响应onSingleTapConfirmed一定不会响应,一次onDoubleTapEvent时间中一般会有两次onSingleTapConfirmed事件;

SimpleOnGestureListener本身是一个内部类,其中已经实现了OnGestureListener以及OnDoubleTapListener接口中的全部方法,使用时只需继承(extends)然后实现需要的函数即可。使用方法:创建一个继承了SimpleOnGestureListener的类。

PS:双击事件的触发是,一次单击事件后在一段时间内没有再次产生单击事件则判定本次为单击事件,否则就认为是双击事件。因此,在加上双击事件的触发后单击事件一定会延时。

原创粉丝点击