Android关于事件分发导图及分发机制

Android关于事件分发导图及分发机制_第1张图片
事件分发

View 事件分发

首先说说View的事件分发机制,虽然前面已经总结过一次了,不过在这里再总结一次。

dispatchTouchEvent(MotionEvent ev)负责处理MotionEvent这些触摸事件,然后按照顺序,这里有3个方法:

image

onTouch中执行OnTouchListener如果返回true就会打断流程,不执行下边的两个方法

ViewGroup 事件分发

老实说,ViewGroup的事件分发机制跟View基本一样,毕竟ViewGroup继承View嘛。跟事件有关的那几个方法也是一样的,都是:

image

不过如果执行了ViewGroup默认执行View的这三个方法,不会执行ViewGroup的这三个方法,如果想要执行ViewGroup的这三个方法,我们必须修改ViewGroup的onInterceptTouchEvent方法的返回值,为true则可以执行ViewGroup的触摸事件,为false则执行View的触摸事件。

你可能感兴趣的:(Android关于事件分发导图及分发机制)