事件的定义
定义:当用户触摸屏幕时。将产生的触摸行为(Touch事件)
- 事件的类型,有四种
MotionEvent.ACTION_DOWN 手指刚接触屏幕
MotionEvent.ACTION_UP 手指从屏幕松开
MotionEvent.ACTION_MOVE 手指在屏幕上滑动
MotionEvent.ACTION_CANCEL 非人为因素取消
事件序列
正常情况下,一次手指触摸屏幕的行为会发出一些列点击事件
1.点击屏幕立即松开,事件序列化为DOWN->UP
2.点击屏幕滑动一会再松开,事件序列为DOWN->MOVE->…->MOVE->UP
事件分发对象
事件分发主要方法
事件分发-Activity
事件分发——ViewGroup
事件分发-View
View的事件分发
View的事件消费
事件分发模型
事件分发结论
- 一个事件序列从手指接触屏幕到手指离开屏幕,在这个过程中产生一系列事件,以DOWN事件开始,中间含有不定数的MOVE事件,以UP事件结束
- 正常情况下,一个事件序列只能被一个View拦截并且消耗
- 某个View一旦决定拦截,那么这个事件序列都将由它的onTouchEvent处理,并且它de
onInterceptTouchEvent不会再调用 - 某个View一旦开始处理事件,如果它不消耗ACTION——DOWN事件(onTouchEvent返回false),那么同一事件序列中其他事件都不会再交给它处理。并且重新交由它的父元素处理(父元素onTouchEvent被调用)