GestureDeterctor主要用于辅助检测用户的单击、滑动、长按、双击等行为。
首先需要创建一个GestureDetector对象并实现onGestureListener接口,根据需要还可以实现onDoubleTabListener从而能够监听双击行为:
GestureDetector mGestureDetector=new GestureDetector(this);
mGestureDetector.setIsLongpressEnabled(false);
接着,接管目标view的onTouchEvent方法:
boolean consume=mGestureDetector.onTouchEvent(event);
return consume;
日常开发中,比较常用的监听事件有:onSigleTapUp(单击)、onFling(快速滑动)、onScroll(拖动)、onLongPress(长按)和onDoubleTap(双击)。它们其实是对onTouchEvent事件做了封装和处理。
实际开发中也可以自己在view的onTouchEvent方法中实现所需要的监听。所以如果只是监听滑动相关的,建议自己在onTouchEvent中实现,如果要监听双击这种行为的话,那么就使用GestureDetector.
转载请注明原文地址: https://ju.6miu.com/read-674523.html