123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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.ui.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 = 350;
- private static final int SWIPE_VELOCITY_THRESHOLD = 200;
- @Override
- public boolean onDown(MotionEvent e) {
- return true;
- }
- @Override
- public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
- boolean result = false;
- try {
- float diffY = e2.getY() - e1.getY();
- float diffX = e2.getX() - e1.getX();
- if (Math.abs(diffX) > Math.abs(diffY)) {
- if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
- if (diffX > 0) {
- onSwipeRight();
- result = true;
- } else {
- onSwipeLeft();
- result = true;
- }
- }
- } else {
- if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
- if (diffY > 0) {
- onSwipeBottom();
- result = true;
- } else {
- onSwipeTop();
- result = true;
- }
- }
- }
- } catch (Exception exception) {
- exception.printStackTrace();
- }
- return result;
- }
- }
- public void onSwipeRight() {
- }
- public void onSwipeLeft() {
- }
- public void onSwipeTop() {
- }
- public void onSwipeBottom() {
- }
- }
|