GestureDetector和onTouchEvent的关系

    xiaoxiao2021-04-18  49

    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

    最新回复(0)