Android Touch事件分發

2021-07-05 23:34:24 字數 805 閱讀 2438

事件

viewgroup   

view有子元素     

view無子元素            

activity     

方法功能  

public boolean dispatchtouchevent(motionevent ev)yy

ny分發 public boolean onintercepttouchevent(motionevent ev)yy

nn攔截 public boolean ontouchevent(motionevent ev)yy

yy響應 

dispatchtouchevent:

true:消費事件,停止往內部分發

false:父類ontouch方法事件處理

預設的 super.dispatchtouchevent(ev):當前的view的onintercepttouchevent方法

getparent().requestdisallowintercepttouchevent(true);//請求不要攔截

onintercepttouchevent:

true:當前 view 的 ontouchevent 進行處理

false:傳給子view

預設的 super.onintercepttouchevent(ev):當前 view 的 ontouchevent 進行處理

ontouchevent

true:處理

false:向父view傳遞

預設的 super.dispatchtouchevent(ev):向父view傳遞

Android touch事件傳遞

android的touch事件分發機制,涉及到每一層級的處理和傳遞,比較複雜,本文是在參考以下日誌和android原始碼的基礎上總結的,在此表示感謝 1.touch事件傳遞過程 touch事件經過android核心層的處理,最終會傳遞到activity的dispatchtouchevent方法,由此...

android touch事件解析

android touch事件 乙個簡單的觸控螢幕所經歷的事件 action down action move action move action move.action move action up,即乙個acitondown,多個actionmove,乙個actionup android每個g...

android Touch事件流程

當乙個事件來臨的時候,會先傳遞給最外層的viewgroup 父view,比如linearlayout,framelayout 如果這個viewgroup沒有去攔截這個事件的話,才會給傳遞給下層的viewgroup或者view。如果被攔截掉的話,它會自己去處理這個事件,這個viewgroup內的子vi...