1.事件从哪里来
通过我们用户在屏幕上的行为,驱动给我们算出来的数据,再经过android系统算出来一系列的事件类型。
2.事件分发所涉及到的方法


2.事件分发所涉及到的方法
3.down事件的分发和处理
- 1.事件分发 DispatcherTouchEvent(MotionEvent event );
- 2.事件处理 onTochEvent方法(MotionEvent event)
- 3.dispatchTouchEvent和OntouchEvent方法默认返回的都是false值
4.down事件的处理图
- 对于事件分发的方法调用:像一颗树一样,从根部往它的分支依次按照层级传递;
- 对于事件处理的方法调用:像一颗树一样,从分支依次往根部调用;
- 如果一个view的DispatchtochEvent如果直接返回false的话, 它应该交给它的上层的OntouchEvent方法处理;
- 如果一个View的dispatchTochEvent方法返回的是super.dispatchTouchEvent的话,它应该交给自己的ontouchEvent处理;
- 如果一个View的dispatchTochEvent方法直接返回true的话,那么它就终止传递,不会调用任何一个view的onTouchEvent;
- 如果一个View的onTouchEvent方法返回false,它会紧接着调用上一层的onTouchEvent方法;如果一个View的onTouchEvent方法返回true, 那么事件传递终止;
5.move事件
6.move事件和事件拦截要注意的以下几点,如图所示:1.如果说你消费了down事件才能接收move事件2.如果move事件在传递过程中没有被消费的话,那么下一个move还是会继续传递3.如果move事件在传递过程中没有被消费的话,那么会调用Activity的onTouchEvent(MotionEvent event )4.如果down事件在传递过程中被消费了,那么每一个 move事件都会被传递5.如果上一个down事件被谁消费了,谁才有资格接受到move事件