首页 > 移动平台 > 详细

Android Touch事件分发机制

时间:2014-01-21 01:19:10      阅读:356      评论:0      收藏:0      [点我收藏+]

        在app开发过程中常常需要订制控件处理Touch事件。本文介绍Android应用层是分发Touch事件的机制。

        整体来说Touch事件的分发遵从“V”字形结构,如下图所示(图有点粗糙:-D)bubuko.com,布布扣  :

bubuko.com,布布扣


View和ViewGroup的关系图如下:

 bubuko.com,布布扣

主要有三点:

1、外层的ViewGroup先接收到事件,ViewGroup在dispatch中调用intercept决定分发方向:如果intercept返回true,则向内层控件分发;反之,直接分发到自己的touch函数。

2、touch函数的返回值决定事件是否继续传递:返回true,则表示消费了,不在将该事件往后传递;反之则将该事件继续往后传递。

3、一次事件的最终返回值决定后续事件是否被接收:如果Activity和所有控件的touch函数都没有消费该事件(touch返回true),则后续事件不再被接收;反之,则继续接收后续事件。


“V"字形的左边是dispatch函数,下方拐点是内层View的touch函数,右边是外层View的touch函数。当然,最内层是个ViewGroup也是可以的。


Android Touch事件分发机制

原文:http://blog.csdn.net/u011974533/article/details/18316319

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!