【6.28】GestureDetector手势监听
接口有两个,如下:
public interface OnGestureListener {
// Touch down时触发, e为down时的MotionEvent
boolean onDown(MotionEvent e);
// 在Touch down之后一定时间(115ms)触发,e为down时的MotionEvent
void onShowPress(MotionEvent e);
// Touch up时触发,e为up时的MotionEvent
boolean onSingleTapUp(MotionEvent e);
// 滑动时触发,e1为down时的MotionEvent,e2为move时的MotionEvent
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY);
// 在Touch down之后一定时间(500ms)触发,e为down时的MotionEvent
void onLongPress(MotionEvent e);
// 滑动一段距离,up时触发,e1为down时的MotionEvent,e2为up时的MotionEvent
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY);
}
public interface OnDoubleTapListener {
// 完成一次单击,并确定没有二击事件后触发(300ms),e为down时的MotionEvent
boolean onSingleTapConfirmed(MotionEvent e);
// 第二次单击down时触发,e为第一次down时的MotionEvent
boolean onDoubleTap(MotionEvent e);
// 第二次单击down,move和up时都触发,e为不同时机下的MotionEvent
boolean onDoubleTapEvent(MotionEvent e);
}
需要有一个onTouchEvent方法来做入口检验:
@Override public boolean onTouchEvent(MotionEvent event) { return mGestureDetector.onTouchEvent(event); }
注意这个onTouch不是继承来的onTouchListener,不然是监听不了的
上一篇: SVN配置自启动-1053错误
下一篇: PHP常见的算法题