您的位置:首页 > 移动开发 > Android开发

Android事件分发机制

2016-04-05 09:49 330 查看
转载请注明出处:http://blog.csdn.net/franticivan/article/details/51062492

刚刚开始学习事件分发机制方面的知识,看了多篇关于事件分发的博客,受益颇多,在此记录一下学习笔记,以及浅显的理解;

在此感谢两位博文的作者;

http://blog.csdn.net/guolin_blog/article/details/9097463

http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html

有需要的同学可以看一下;

Android事件分发包括三个方法,概括起来作用分别是:

dispatchTouchEvent()  负责向下分发事件
onInterceptTouchEvent() 负责拦截事件(ViewGroup有此方法,View和Activity无此方法)
onTouchEvent()负责处理事件

这里主要记录不同的返回值对事件分发的影响,不做举例说明 
dispatchTouchEvent()
return true;直接在dispatchTouchEvent中处理事件
return false;表示不向下分发,传递回上层View的onTouchEvent()处理
return super.dispatchTouchEvent();传递到本View的onInterceptTouchEvent()处理
 
onInterceptTouchEvent()
return true;表示将事件拦截并传递给本View的onTouchEvent()处理
return false表示事件不拦截并传递到下层View的dispatchTouchEvent()处理
return super.onInterceptTouchEvent();表示事件不拦截并传递到下层View的dispatchTouchEvent()处理
 
onTouchEvent();
return true;  处理该事件  
return false;对事件不做处理,并把事件传递到上层View的onTouchEvent()处理
return super.onTouchEvent(),对事件不做处理,并把事件传递到上层View的onTouchEvent()处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 博客