美文网首页
Android事件分发

Android事件分发

作者: 包包白 | 来源:发表于2016-10-26 20:23 被阅读8次

正常情况都不处理

1层:dispatchTouchEvent

1层:onInterceptTouchEvent

2层:dispatchTouchEvent

2层:onInterceptTouchEvent

3层:dispatchTouchEvent

3层:onInterceptTouchEvent

3层:onTouchEvent Down

2层:dispatchTouchEvent设置true直接返回不super

1dispatchTouchEvent>>>>ACTION_DOWN

1onInterceptTouchEvent>>>>ACTION_DOWN

2dispatchTouchEvent>>>>ACTION_DOWN

1dispatchTouchEvent>>>>ACTION_MOVE

1onInterceptTouchEvent>>>>ACTION_MOVE

2dispatchTouchEvent>>>>ACTION_MOVE

1dispatchTouchEvent>>>>ACTION_UP

1onInterceptTouchEvent>>>>ACTION_UP

2dispatchTouchEvent>>>>ACTION_UP

2层:dispatchTouchEvent设置false直接返回不super

1dispatchTouchEvent>>>>ACTION_DOWN

1onInterceptTouchEvent>>>>ACTION_DOWN

2dispatchTouchEvent>>>>ACTION_DOWN

2层:onInterceptTouchEvent设置true

1dispatchTouchEvent>>>>ACTION_DOWN

1onInterceptTouchEvent>>>>ACTION_DOWN

2dispatchTouchEvent>>>>ACTION_DOWN

2onInterceptTouchEvent>>>>ACTION_DOWN

2onTouchEvent>>>>ACTION_DOWN

1onTouchEvent>>>>ACTION_DOWN

2层:onInterceptTouchEvent设置false

1dispatchTouchEvent>>>>ACTION_DOWN

1onInterceptTouchEvent>>>>ACTION_DOWN

2dispatchTouchEvent>>>>ACTION_DOWN

2onInterceptTouchEvent>>>>ACTION_DOWN

3dispatchTouchEvent>>>>ACTION_DOWN

3onInterceptTouchEvent>>>>ACTION_DOWN

3onTouchEvent>>>>ACTION_DOWN

2onTouchEvent>>>>ACTION_DOWN

1onTouchEvent>>>>ACTION_DOWN

2层:onTouchEvent设置true

1dispatchTouchEvent>>>>ACTION_DOWN

1onInterceptTouchEvent>>>>ACTION_DOWN

2dispatchTouchEvent>>>>ACTION_DOWN

2onInterceptTouchEvent>>>>ACTION_DOWN

3dispatchTouchEvent>>>>ACTION_DOWN

3onInterceptTouchEvent>>>>ACTION_DOWN

3onTouchEvent>>>>ACTION_DOWN

2onTouchEvent>>>>ACTION_DOWN

1dispatchTouchEvent>>>>ACTION_MOVE

1onInterceptTouchEvent>>>>ACTION_MOVE

2dispatchTouchEvent>>>>ACTION_MOVE

2onTouchEvent>>>>ACTION_MOVE

1dispatchTouchEvent>>>>ACTION_UP

1onInterceptTouchEvent>>>>ACTION_UP

2dispatchTouchEvent>>>>ACTION_UP

2onTouchEvent>>>>ACTION_UP

总结

dispatchTouchEvent默认返回false,super是关键

onInterceptTouchEvent默认返回false,super无效果

onTouchEvent默认返回false,super无效果

dispatchTouchEvent默认返回true并调super

不调用super

1:dispatchTouchEvent设置true可以拦截所有操作

2:dispatchTouchEvent设置false当当前控件终止

调用super

1:dispatchTouchEvent设置true相当于onTouchEvent设置为true

2:dispatchTouchEvent设置false这里是系统默认情况

onInterceptTouchEvent super无效果

onTouchEvent默认返回falsesuper无效果

相关文章

网友评论

      本文标题:Android事件分发

      本文链接:https://www.haomeiwen.com/subject/achjuttx.html