一张图带你理解事件分发过程

来源:互联网 发布:rts630数据采集 编辑:程序博客网 时间:2024/04/29 06:33

触摸事件一般包含 三个事件: ACTION_DOWN,ACTION_MOVE,ACTION_UP

我们可以当作三个事件来分别分发   eg:ACTION_DOWN ---------->dispatchtouchevent---->(因为down属于本次事件第一个小事件,要么被分发器吃了,要么就直接交给拦截器)----我们默认不吃掉事件-->onInterCeptTouchEvent(此处我们就可以做自己的逻辑判断将该事件是分发给子view还是自己来处理了)------>要么继续下次分发,要么处理事件;(ACTION_MOVE会进行多次拦截处理,这样我们就可以判断滑动方向来进行最后的处理

ACTION_DOWN,ACTION_MOVE,ACTION_UP,这三个事件都可以按图来进行处理;

总结:我们一般用ACTION_DOWN当作探路器探寻需要该次事件的TargetView,在TargetView消费事件之后,那么以后的事件传递就是直接透过dispatchtouchevent---》dispatchtouchevent---->dispatchtouchevent.......——》事件处理 onTouchEvent


ps:如有不对,请指正。。。希望对你有帮助!




0 0
原创粉丝点击