2011-05-21 63 views
0

基本上,我有一個ViewFlipper,當我在它上面滑動手指時會翻轉。這是我在我的活動代碼:Android:fllipper視圖不會變形

public boolean onTouchEvent(MotionEvent touchevent) { 
    switch (touchevent.getAction()) { 
    case MotionEvent.ACTION_DOWN: { 
     oldTouchValue = touchevent.getX(); 
     break; 
    } 
    case MotionEvent.ACTION_UP: { 
     float currentX = touchevent.getX(); 
     if (oldTouchValue > currentX) { 
      ViewHelper.swapFlipperNext(vf);//helper method for flipping 
      setMyProgress();//helper method to set my progress bar 
     } 
     if (oldTouchValue < currentX) { 
      ViewHelper.swapFlipperPrevious(vf); 
      setMyProgress(); 
     } 
     break; 
    } 
    } 
    return false; 
} 

它完美,除了一兩件事,我可以翻轉,如果我的手指在屏幕的非觀看部分。但是,如果我的數字在某些視圖上滑動(因爲我在每個頁面中都有文本視圖和Web視圖),onTouchEvent不會被激活,所以ViewFlipper不會被切換,我該如何解決這個問題?非常感謝

回答

0

嘗試將textviews和webviews的focusable屬性設置爲false。基本上我認爲正在發生的是這些正在消耗觸摸事件。

編輯:如果這不起作用,請嘗試以下

@Override 
public boolean dispatchTouchEvent(MotionEvent ev) { 
    if (gestureDetector != null) { 
     gestureDetector.onTouchEvent(ev); 
    } 
    return super.dispatchTouchEvent(ev); 
} 

其中gestureDetector是一個成員變量。

從這裏看到:EditText not capturing ViewFlipper flings?

+0

我想這可能是因爲,太多,但問題是,我試圖設置這些視圖的可聚焦到假的,但他們變得不可編輯,我還需要在做業務那些,除此之外,它仍然不能切換,即使我在那種情況下設置了那些 – user685275 2011-05-21 02:08:11

+0

看到我的編輯。 – jkhouw1 2011-05-21 02:12:42

+0

問題解決了,但即使我拖動查看我的webview和其他東西,我的鰭狀肢也會翻轉-_- – user685275 2011-05-21 05:05:49