Ich benutze Gesture Listner zu Swipe Bildschirmnavigation zu erreichen. Aber es ist nicht so komfortabel, dass ich mehrere Male wischen muss, um zum nächsten oder vorherigen Bildschirm zu navigieren. Was sind die richtigen Werte für Velocity, Off path und Min Distance?Android: So machen Sie Swipe-Bildschirm Navigation bequem
Finden Sie ist mein Code:
private static final int SWIPE_MIN_DISTANCE = 50;
private static final int SWIPE_MAX_OFF_PATH = 300;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
viewFlipper.setInAnimation(slideLeftIn);
viewFlipper.setOutAnimation(slideLeftOut);
viewFlipper.showNext();
configDisplay();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
viewFlipper.setInAnimation(slideRightIn);
viewFlipper.setOutAnimation(slideRightOut);
viewFlipper.showPrevious();
configDisplay();
}
} catch (Exception e) {
// nothing
}
return false;
}
}
Werfen Sie einen Blick auf diese, die [berechnet] [1] die Werte basieren auf DisplayMetrics [1]: http://stackoverflow.com/questions/937313/android-basic-gesture-detection/5039732#5039732 – Fuzzy