Android Open Source - Simplest-Flashlight-App On Swipe Touch Listener






From Project

Back to project page Simplest-Flashlight-App.

License

The source code is released under:

Apache License

If you think the Android project Simplest-Flashlight-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.andrewq.simpleflashlight;
/* w w  w.ja v  a  2 s.c o m*/
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;

@SuppressWarnings("unused")
public class OnSwipeTouchListener implements View.OnTouchListener {

  @SuppressWarnings("deprecation")
  private final GestureDetector gestureDetector = new GestureDetector(
      new GestureListener());

  public boolean onTouch(final View view, final MotionEvent motionEvent) {
    return gestureDetector.onTouchEvent(motionEvent);
  }

  private final class GestureListener extends
      GestureDetector.SimpleOnGestureListener implements
      GestureDetector.OnGestureListener {

    private static final int SWIPE_THRESHOLD = 100;
    private static final int SWIPE_VELOCITY_THRESHOLD = 100;

    @Override
    public boolean onDown(MotionEvent e) {

      return true;
    }

    @Override
    public void onShowPress(MotionEvent e) {

    }

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
      return false;
    }

    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2,
        float distanceX, float distanceY) {
      return false;
    }

    @Override
    public void onLongPress(MotionEvent e) {

    }

    @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();
            } else {
              onSwipeLeft();
            }
          }
        } else {
          if (Math.abs(diffY) > SWIPE_THRESHOLD
              && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
            if (diffY > 0) {
              onSwipeBottom();
            } else {
              onSwipeTop();
            }
          }
        }
      } catch (Exception exception) {
        exception.printStackTrace();
      }
      return result;
    }
  }

  public void onSwipeRight() {
  }

  public void onSwipeLeft() {
  }

  public void onSwipeTop() {
  }

  public void onSwipeBottom() {
  }

}




Java Source Code List

com.andrewq.simpleflashlight.FlashlightWidget.java
com.andrewq.simpleflashlight.MainActivity.java
com.andrewq.simpleflashlight.OnSwipeTouchListener.java
com.andrewq.simpleflashlight.Settings.java