J'utilise Gesture Listner pour réussir la navigation à l'écran Swipe. Mais ce n'est pas si confortable que j'ai besoin de glisser plusieurs fois pour naviguer vers l'écran suivant ou précédent. Quelles sont les valeurs appropriées pour Velocity, Off path et Min Distance.Android: Comment faire Swipe écran Navigation confortable
S'il vous plaît trouverez ci-dessous est mon 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;
}
}
Jetez un oeil à ce qui [calcule] [1] les valeurs en fonction sur DisplayMetrics [1]: http://stackoverflow.com/questions/937313/android-basic-gesture-detection/5039732#5039732 – Fuzzy