android事件分发机制
来源:互联网 发布:苹果cms简洁模板 编辑:程序博客网 时间:2024/05/22 02:01
我们都知道一个控件有继承ViewGroup或View的两种类型。
ViewGroup可以作为父控件,所以他不但可以处理事件还可以分发事件,他的相关事件有三个:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。
View类型的可以作为子控件使用,他可以对传递到他这里的事件进行处理,他的相关事件只有两个:dispatchTouchEvent、onTouchEvent。
父控件的onInterceptTouchEvent的作用是:是否对传递到他这里的事件进行拦截,常用处理滑动控件较多的时候滑动冲突。拦截之后就不会向下一级分发所拦截的事件了,在他自己的onTouchEvent中处理对应拦截的事件
父控件和子控件的dispatchTouchEvent主要作用是:分发事件。对分发到他们这里的事件选择处理还是不处理让他继续传递 。而真正分发事件的是父容器中的dispathchTouchEvent事件 。所有事件都不做处理的情况下 只有 down事件 会自动向下分发,别的事件不会。
onTouchEvent:用来处理他们获取到的响应的事件。
常见的事件冲突问题一般都发生在父容器和子控件之间,或者是父父容器和子控件之间等,处理这种问题的思路:父容器的onInterceptTouchEvent对自己所必须的事件进行拦击不向下分发 子控件在dispatchTouchEvent中对自己想要的事件进行获取。
0 0
- android事件分发机制
- Android事件分发机制
- Android 事件分发机制
- Android事件分发机制
- Android 事件分发机制
- Android 事件分发机制
- android 事件分发机制
- Android事件分发机制
- android 事件分发机制
- android事件分发机制
- Android 事件分发机制
- android事件分发机制
- android 事件分发机制
- android 事件分发机制
- Android 事件分发机制
- Android事件分发机制
- Android事件分发机制
- Android 事件分发机制
- 获取select的值和index
- android学习线路
- IOS-播放声音,中断声音
- bzoj2738【整体二分】
- 关于命名空间
- android事件分发机制
- C语言 动态内存分配
- FastDFS安装与使用(单节点)
- Incapsula 反爬虫
- nyoj 最少步数(BFS,DFS)
- ECSHOP 微信支付 二维码支付 PC php
- Android之推荐看的Android源码
- 重谈eixt(0),ExitProcess,和TerminateProcess的区别和联系
- 欢迎使用CSDN-markdown编辑器