4

我使用手势列表来实现滑动屏幕导航。但它不是很舒服,我需要滑动多次浏览到下一个或上一个屏幕。速度,关闭路径和最小距离的适当值是多少?Android:如何使滑动屏幕导航舒适

请从下面是我的代码:

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

看一看这里面[计算] [1]基于价值在DisplayMetrics上 [1]:http://stackoverflow.com/questions/937313/android-basic-gesture-detection/5039732#5039732 – Fuzzy 2011-08-24 11:04:04

回答

0

我最近实施了使用和丢开始了SimpleOnGestureListener就像你的榜样的应用程序。我记录每次投掷时的速度和偏移量,并在我的设备上进行测试,以找到我认为合适的值。

- 我强烈建议你去看看在ViewPager这是在compability package,而不是可用。

About ViewPager with link to example.