首页 > 代码库 > onInterceptTouchEvent事件和onTouchEvent事件

onInterceptTouchEvent事件和onTouchEvent事件

1.       down事件首先会传递到onInterceptTouchEvent()方法

2.       如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move, up等事件将继续会先传递给该ViewGroup,之后才和down事件一样传递给最终的目标view的onTouchEvent()处理。onInterceptTouchEvent返回false,事件会直接传给最上层的viewonTouchEvent

3.       如果该ViewGrouponInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGrouponTouchEvent()处理,注意,目标view将接收不到任何事件。

4.       如果最终需要处理事件的view的onTouchEvent()返回了false,那么该事件将被传递至其上一层次的view的onTouchEvent()处理。返回falseview不再接收其他事件,事件往上传递

5.       如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理。返回true事件不会在往上层传递了,本层继续接收下个事件

onInterceptTouchEvent事件和onTouchEvent事件