package de.tudarmstadt.informatik.hostage.ui2.listeners; import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import de.tudarmstadt.informatik.hostage.ui2.activity.MainActivity; /** * @author Alexander Brakowski * @created 27.01.14 23:47 */ public class OnSwipeTouchListener implements OnTouchListener { private final GestureDetector gestureDetector = new GestureDetector(MainActivity.getContext(), new GestureListener()); public boolean onTouch(final View view, final MotionEvent motionEvent) { return gestureDetector.onTouchEvent(motionEvent); } private final class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_THRESHOLD = 50; private static final int SWIPE_VELOCITY_THRESHOLD = 150; @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > SWIPE_THRESHOLD) { if (diffX > 0) { onSwipeRight(); } else { onSwipeLeft(); } } } catch (Exception exception) { exception.printStackTrace(); return false; } return true; } } public void onSwipeRight() { } public void onSwipeLeft() { } }