Android巩固之事件分发机制
https://www.cnblogs.com/liaojie970/p/5869152.html
onTouchEvent是真正用來進行業務邏輯處理的地方,返回true表示已經將該事件消費,返回false表明事件繼續傳遞。
onInterceptTouchEvent是用來進行判斷是否需要對事件進行攔截從而阻止其繼續往子組件傳遞的,返回false表示無需攔截,則遞歸的調用子組件的dispatchTouchEvent
方法;返回true表示需要攔截,則直接調用本組件的onTouchEvent方法進行處理。
?
在父組件dispatchTouchEvent中有可能會調用三個方法:
1、本組件的onInterceptTouchEvent
2、子組件的dispatchTouchEvent
3、本組件的onTouchEvent
ViewGroup中dispatchTouchEvent()具體的執行邏輯:
1、首先執行本組件的onInterceptTouchEvent。如果返回false,表明無需攔截,則調用第二個方法,即子組件的dispatchTouchEvent方法;如果返回true,無需向子組件
傳遞,則直接調用本組件的onTouchEvent方法
2、第一步中如果需要向子組件傳遞事件。如果遞歸調用子組件的dispatchTouchEvent返回false,則調用本組件的onTouchEvent方法;如果返回true,則無需調用本組件的
onTouchEvent方法
3、根據前兩步的執行結果,將該dispatchTouchEvent的返回值返回給父組件的dispatchTouchEvent方法。
轉載于:https://www.cnblogs.com/Oldz/p/11273546.html
總結
以上是生活随笔為你收集整理的Android巩固之事件分发机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android测量的三种模式
- 下一篇: sha256获取