美文网首页
Android 事件分发机制

Android 事件分发机制

作者: xulj100 | 来源:发表于2019-12-23 09:42 被阅读0次

从手触摸屏幕开始所产生一系列MotionEvent事件,将事件传递到具体的某一个View的过程就叫做事件分发,就是事件层层传递,直到被消费。

事件 简介
ACTION_DOWN 手指初次接触到屏幕时触发。
ACTION_MOVE 手指在屏幕上滑动时触发,会会多次触发。
ACTION_UP 手指离开屏幕时触发。
ACTION_CANCEL 事件被上层拦截时触发。
类型 相关方法 ViewGroup View
事件分发 dispatchTouchEvent
事件拦截 onInterceptTouchEvent X
事件消费 onTouchEvent
public boolean dispatchTouchEvent(MotionEvent ev){
   boolean consume;
   if(onInterceptTouchEvent(ev)){
       consume = onTouchEvent(ev);
   }else {
       consume = child.dispatchTouchEvent(ev);
   }
   return consume;
}

看上面代码可知,调用dispatchTouchEvent()方法则说明事件已经交到该View手上了,接来下要么View自己拦截(onInterceptTouchEvent())处理事件,要么传递给子View。

相关文章

网友评论

      本文标题:Android 事件分发机制

      本文链接:https://www.haomeiwen.com/subject/fayinctx.html