2013-07-27 27 views
0

我正在開發我的第一個真正的Android應用程序。 所以,我有足夠的信息顯示在一個活動中。所以我想有4屏幕可以垂直滾動切換到另一個屏幕(如ViewPager水平)。ViewPager如何通過垂直滾動切換片段?

我還沒找到讓ViewPager垂直滾動的方法。

我仰望網絡,在這裏。但是我沒有找到任何直接回答的線索。

我甚至嘗試切換到景觀,並使所有元素旋轉90度,但這真的不是一個好方法... 所以請幫助我。

回答

0

你可以使用輕輕一掃的方式,並且從陣列中進行每次滑動變化活動,這裏是我想到的一個小例子。

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

希望你會發現這個有用的, 乾杯