ViewPager如何通过垂直滚动切换片段?

问题描述:

我正在开发我的第一个真正的Android应用程序。 所以,我有足够的信息显示在一个活动中。所以我想有4屏幕可以垂直滚动切换到另一个屏幕(如ViewPager水平)。ViewPager如何通过垂直滚动切换片段?

我还没找到让ViewPager垂直滚动的方法。

我仰望网络,在这里。但是我没有找到任何直接回答的线索。

我甚至尝试切换到景观,并使所有元素旋转90度,但这真的不是一个好方法... 所以请帮助我。

你可以使用轻轻一扫的方式,并且从阵列中进行每次滑动变化活动,这里是我想到的一个小例子。

private static final int SWIPE_MIN_DISTANCE = 120; 
private static final int SWIPE_MAX_OFF_PATH = 250; 
private static final int SWIPE_THRESHOLD_VELOCITY = 200; 


int[] values = new int[] { 
    R.layout.Layout1, 
    R.layout.Layout2, 
    R.layout.Layout3 }; 

@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; 
    } 

    /** 
    * left to right swipe 
    */ 
    if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE 
      && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 

     //next Layout 
      setContentView(array[]+1) 


     /** 
     * right to left 
     */ 
    } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE 
      && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 


      //prev layout 
      setContentView(array[]-1) 

     } 

    } 
} catch (Exception e) { 

} 
return false; 
} 

希望你会发现这个有用的, 干杯