Android事件分發機制小結

Android事件分發在開發中很常見,之前老是搞不懂事件怎麼傳遞啊~這兩天上網查閱了不少資料也親自動手學習了一次,如今來作個小結。。。
Android事件分發機制的本質是要解決:點擊事件由哪一個對象發出,通過哪些對象,最終到達哪一個對象並最終獲得處理。這裏的對象就是指Activity,ViewGroup,View。
UI界面就是由這三者組成。分發的順序是Activity,ViewGroup,View。
事件分發過程由dispatchTouchEvent()(分發點擊事件)、onInterceptTouchEvent()(攔截事件)、onTouchEvent()(處理事件)三個方法協助完成。
事件分發的順序按上面這三個方法的前後順序執行,方法的返回值若是爲true就攔截該事件,而後交由本身的onTouchEvent()方法處理,false則不攔截,繼續傳遞。事件處理都是由onTouchEvent()方法處理,該方法的返回值若是爲true則消費該事件,事件不繼續傳遞,若是爲false,則不消費,也不繼續傳遞,而是交給父控件處理。
好了~就先這些吧~之後再補充。學習

相關文章
相關標籤/搜索