4

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; 
    } 
} 
+0

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

Répondre

0

J'ai récemment mis en œuvre une application qui a utilisé et a commencé à jeter avec SimpleOnGestureListener comme votre exemple. J'ai enregistré la vélocité et le décalage sur chaque fling et testé sur mon appareil pour trouver ce que je pensais être des valeurs appropriées.

Mais - je vous recommande fortement de jeter un oeil à la ViewPager qui est disponible dans le compability package à la place.

About ViewPager with link to example.