1.Android 中常用事件類型引颈?
1)onClick
2)onTouch
3)onKey
2.Android 中事件元素及處理過程沦童?
1)事件源(在哪個view控件上觸發(fā)事件)
2)事件監(jiān)聽對象(觀察者對象,用于觀察或監(jiān)聽事件源狀態(tài)的變化)
3)事件處理函數(shù)(回調(diào)函數(shù)撑教,此函數(shù)在事件發(fā)生時會由系統(tǒng)回調(diào)執(zhí)行)
4)具體事件(觸摸朝墩,滾動,點擊,.....)
3.Android 中事件的分發(fā)機制伟姐?
Android中任何view在處理事件時首先會執(zhí)行dispatchTouchEvent方法由此方法開始進行事件分發(fā)處理.
- 假如此view上添加了onTouch事件那么事件分發(fā)時首先會執(zhí)行OnTouchListener的onTouch方法
- 假如此方法返回值為true表示事件被消費收苏,后續(xù)其它事件不在繼續(xù)處理,
- 假如onTouch方法返回為false,那么此時會調(diào)用view的onTouchEvent
方法繼續(xù)事件分發(fā)愤兵。
Android 中在處理任何View的事件時鹿霸,首先會執(zhí)行這個view所在的容器(ViewGroup)的dispatchTouchEvent的方法進行事件分發(fā),然后才會執(zhí)行此view的dispatchTouchEvent方法進行事件分發(fā).
- 假如不希望view的dispatchTouchEvent方法執(zhí)行秆乳,可以重寫view所在容器的onInterceptTouchEvent方法進行事件攔截懦鼠,此方法默認返回值為false,可以將其改為true(表示要進行攔截)。
4.Android 中事件分發(fā)相關(guān)方法屹堰?
1)dispatchTouchEvent(MotionEvent ev) :事件分發(fā)
2)onInterceptTouchEvent(MotionEvent ev):事件攔截
3)onTouchEvent(MotionEvent event):事件響應(yīng)