一、触摸事件类型
有action_down、action_move、action_up三种类型。
二、事件传递的三个阶段
1.分发:dispatchTouchEvent,返回true表示事件被当前视图消费掉,不在继续分发事件;返回super表示继续分发该事件,如果当前视图是ViewGroup及其子视图,会调用onInterceptTouchEvent判断是否拦截该事件
2.拦截:interceptTouchEvent,只在ViewGroup和子类中才有,返回true表示拦截该事件,不继续分发给子视图,同时交由自己的onTouchEvent方法进行消费。返回false或super表示不对该事件进行拦截
3.消费:onTouchEvent,返回true表当前视图可以处理对应事件,事件讲不会向上传递给父视图;返回false表当前视图不处理这个事件,事件会被传递给父视图的onTouchEvent方法进行处理。
Activity:dispatchTouchEvent、onTouchEvent
ViewGroup:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent
View:dispatchTouchEvent、onTouchEvent
三、View的事件传递机制
四、ViewGroup的事件传递机制
注:改个错误,在图中(注释3)返回super,默认和false处理是一样的,大家看的时候注意一下,然后下载的文档中也是
我的理解就这些,欢迎大家来指导和留言,一起学习一起进步!
看不清图片的小仙女们,我传了一份pdf的网上,点击下载哦!!!
http://download.csdn.net/detail/u010074054/9912187