そのようなメソッド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);
}
});
編集:テストした後、スクロール可能なアイテムでのみ機能するようです。