可以easilly使用姿态探测器创建扩展SimpleOnGestureListener
一类拥有onFling
方法类似:
protected class ExampleGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {// User swipe vertically
}
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_MIN_VELOCITY) {// Right swipe
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_MIN_VELOCITY) {// Left swipe
}
return false;
}
}
你只需要定义变量,只要你想,创建gestureDetector像
gestureDetector = new GestureDetector(new ExampleGestureDetector());
,并重新定义视图的触摸听者想要
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View wv, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
编辑:经过测试,它似乎只适用于可滚动的项目。