Mark 下 android Touch 事件传递顺序

来源:互联网 发布:淘宝定制是要付全款吗 编辑:程序博客网 时间:2024/04/29 19:21

android Touch事件执行顺序是:

Activity.dispatchTouchEvent()
ViewGroup.dispatchTouchEvent()
View.dispatchTouchEvent()
View.onTouchEvent()
ViewGroup.onTouchEvent()
Activity.onTouchEvent()

onInterceptTouchEvent 返回false,则后续再来的事件(比如ACTION_UP)会继续传递给子view的ontouchEvent ,
onInterceptTouchEvent 返回true,则后续再来的事件(比如ACTION_UP)就不会传递给子view.

view的onTouchEvent返回true,则表示事件已经消化干净,viewgroup的onTouchEvent将不会被调用,否则相反.



附上官方对于onInterceptTouchEvent 的解释;
3、For as long as you return false from this function, each following event (up to and including the final up) will be delivered first here and then to the target's onTouchEvent().

4、If you return true from here, you will not receive any following events: the target view will receive the same event but with the action ACTION_CANCEL, and all further events will be delivered to your onTouchEvent() method and no longer appear here.
0 0
原创粉丝点击