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

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接口。
posted @ 2017-09-01 09:31  泉油  阅读(155)  评论(0编辑  收藏  举报
Web Design Johor Bahru Malaysia - Stooges