Android中提供了一个手势处理类可以解决双击事件、长按事件、滑动放开、滑动等事件。
final GestureDetector detector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener());
detector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
return false;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
<span style="white-space:pre"> </span>// todo 双击要做的事情
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
return false;
}
});
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 原因就在这 复写了detector的onTouchEvent()方法后,要返回true,否则是没有效果的。
detector.onTouchEvent(event);
return true;
}
});