2011-06-29 26 views
7

部份SDK說:onInterceptTouchEvent()是否真的像sdk說的那樣工作?

3,因爲只要你從這個功能,每個以下事件返回false(截至及包括最後上)將首先在這裏,然後傳遞到目標的的onTouchEvent() 。如果你從這裏返回true,你將不會收到以下任何事件:目標視圖將接收到相同的事件,但動作ACTION_CANCEL,並且所有其他事件將被傳遞給你的onTouchEvent()方法,並且不會在這裏再出現。

但是,當我使用這種方法,不管什麼onInterceptTouchEvent()返回,它做同樣的工作!此方法並未捕獲MotionEvent.ACTION_MOVE或MotionEvent.ACTION_UP。有人能幫我弄清楚嗎?

ths!

回答

4

通常情況下,觸摸從大多數上部視圖通過onInterceptTouchEvent到最低,然後通過onTouchEvent返回。

如果您在onInterceptTouchEven噸你禁止其繼續並在那裏你返回true的看法是最後一個接收觸摸返回true,你消耗它

您也可以禁止你的父視圖消費事件通過 requestDisallowInterceptTouchEvent(true);

相關問題