2015-02-05 74 views
0

關於ACTION_DOWN,如果收益在視圖的onTouchEvent功能錯誤,我們無法收到以下android:如果OnTouchEvent在ACTION_MOVE時返回false,會有什麼影響?

ACTION_MOVE

ACTION_UP

ACTION_CANCEL

但有什麼影響返回false時當ACTION_MOVE?像

public boolean onTouchEvent(MotionEvent ev) { 
    switch (ev.getActionMasked()) { 
    case MotionEvent.ACTION_MOVE: 
    case MotionEvent.ACTION_CANCEL: 
     super.onTouchEvent(ev); 
     return false; 
    } 
    return super.onTouchEvent(ev); 
} 

我有listview測試,似乎確定..

+0

我同樣的效果 – 2015-02-05 15:30:07

+0

可能重複的[返回在ImageView的OnTouch錯誤,但仍然是事件消耗](http://stackoverflow.com/questions/28067270/returning-false-in-ontouch-on-imageview-but-still-event-is-getting-消耗) – corsair992 2015-02-06 03:37:59

回答

0

當的onTouchEvent返回ACTION_DOWN假,認爲將不會收到的onTouchEvent進一步的電話,父視圖將收到的onTouchEvent的呼叫與ACTION_DOWN,父視圖將決定是否處理觸摸事件或通過返回true爲是,假爲沒有

如果該視圖爲ACTION_DOWN返回true,但爲ACTION_MOVE返回false,它將繼續獲取onTouchEvent調用時,父視圖不會收到任何onTouchEvent調用,看起來這個想法是這個觸摸序列已經決定由這個視圖來處理,所以即使視圖返回假的一半,我們仍然不會開始在父視圖上調用onTouchEvent

但是,活動託管視圖將收到一個onTouchEvent調用每次這個視圖返回false爲一個非ACTION_DOWN onTouchEvent調用,它只是這種情況,它可能不是一個合理的結果,任何人都會想要

+0

在我的情況下,我需要父處理tou在評估ACTION_MOVE上的一些邏輯之後,我會怎麼做? – diegoveloper 2017-09-15 14:30:08

相關問題