而View中只可以override onTouchEvent這個物件,接下來將會說明他們的功能為何。
假設有 RelativeLayoutA, RelativeLayoutB, ButtonC
當我們在點擊ButtonC時, 會先由parent view收到訊息, 然後開始往child view傳。
首先,A的onInterceptTouchEvent收到down event後return false,然後會把down event會傳給的B的onInterceptTouchEvent,然後B發現它下面沒有groupview了就把down event傳給C的onTouchEvent, 如果C return true也就是告訴系統接下來的action event 都是由她處理,直接傳給他就可以了。
所以越上層的view會有優先決定處理action event的機會,那麼view的onTouchEvent何時會return true呢? 當我們在設置view的listener時,系統會認為這個view是有要處理action event的。
沒有留言:
張貼留言