2013-08-30 70 views
0

我正在尋找創建ViewFlipper的幫助,這將在android月曆中通過滑動切換兩個月之間進行切換。Android ViewFlipper有2個視圖

我想只有我的兩個viewFlipper裏面的觀點,當我向右滑動。我想要做的

mViewFlipper.setDisplayedChild(1); 

,當我向左滑動:

mViewFlipper.setDisplayedChild(0); 

,當我刷卡兩次離開,我希望每次都充滿進/出動畫,並且同樣爲了正確的清除。完整的動畫只有當我滑動到下一個和前一個,永遠不會在下一個 - >下一個的方向。

感謝您的幫助!

回答

1

如果你只使用2次,目前和你手動如此設置0和1,只需撥打

mViewFlipper.showNext(); 

,而不是不管刷卡方向和應用正確的動畫取決於你是否想要向左或向右滑動。這意味着即使你在視圖1中,並且你再次向右滑動(就像你定義的那樣),視圖0也會回來,就像在兩個視圖之間永不停止的鰭狀物一樣。

http://developer.android.com/reference/android/view/animation/AnimationUtils.html

我可完全誤解但是你的問題,這是相當模糊。

0

**在res文件夾=動畫.......

翻譯動畫XML文件= s_in_fleft在res文件夾中的動畫文件夾..... 可能有幫助**

public boolean onTouchEvent(MotionEvent touchevent) { 
    switch (touchevent.getAction()) { 
    case MotionEvent.ACTION_DOWN: { 
     lastX = touchevent.getX(); 
     break; 
    } 
    case MotionEvent.ACTION_UP: { 
     float currentX = touchevent.getX(); 

     if (lastX < currentX) { 
      if (viewFlipper.getDisplayedChild() == 0) 
       break; 

      viewFlipper.setInAnimation(this, R.animator.s_in_fleft); 
      viewFlipper.setOutAnimation(this, R.animator.s_out_right); 
      viewFlipper.showNext(); 
     } 

     if (lastX > currentX) { 
      if (viewFlipper.getDisplayedChild() == 1) 
       break; 

      viewFlipper.setInAnimation(this, R.animator.s_in_fright); 
      viewFlipper.setOutAnimation(this, R.animator.s_out_left); 
      viewFlipper.showPrevious(); 
     } 
     break; 
    } 
    } 
    return false; 
}