下沉传递和冒泡响应的过程

来源:互联网 发布:iphone导出照片软件 编辑:程序博客网 时间:2024/05/16 06:51
dispatchTouchEven 下沉传递
onInterceptTouchEvent 拦截
onTouch或onTouchEvent 冒泡响应
 
<div a>
    <div b></div>
</div>
 
  1. 下沉传递 (a)
  2. 拦截 (if false)
  3. 下沉传递 (b)
  4. 冒泡响应(b)
  5. 冒泡响应(a)
 
  1. 下沉传递 (a)
  2. 拦截 (if true)
  3. 冒泡响应(a)
 
那onTouch和onTouchEvent两个函数有什么区别呢?
1. 从响应顺序上,onTouchListener的onTouch方法优先级比onTouchEvent高,会先触发。 假如onTouch方法返回false,会接着触发onTouchEvent,反之onTouchEvent方法不会被调用。 
2. 从使用方式上,在自定义View里使用onTouchEvent,系统提供的View使用onTouch接口。