描述一下事件分發(fā)機(jī)制
- 所謂的事件分發(fā)其實(shí)就是事件的傳遞過程,主要涉及到三個(gè)方法:
public boolean dispatchTouchEvent(MotionEvent ev)
public boolean onInterceptTouchEvent(MotionEvent ev)
public boolean onTouchEvent(MotionEvent ev)
- 其中InterceptTouchEvent方法是ViewGroup獨(dú)有的。其返回值用來決定該ViewGroup是否處理這個(gè)事件。
- dispatchTouchEvent方法是用來分發(fā)這個(gè)事件的,InterceptTouchEvent在這個(gè)方法內(nèi)的開始調(diào)用,如果要處理這個(gè)事件,則調(diào)用該view的onTouchEvent方法,如果不處理這個(gè)事件,則調(diào)用子類的dispatchTouchEvent方法。
- onTouchEvent方法是用來最終處理具體事件的,比如手指的按下、滑動和抬起。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。