onInterceptTouchEvent()的机制
来源:互联网 发布:淘宝神笔入口 编辑:程序博客网 时间:2024/05/16 19:40
由于onInterceptTouchEvent()的机制比较复杂,上面的说明写的也比较复杂,总结一下,基本的规则是:
1. down事件首先会传递到onInterceptTouchEvent()方法
2. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,内部view将也会获取到down,那么后续的move, up等事件将继续会先传递给该ViewGroup,之后一样传递给最终的目标view的onTouchEvent()处理。
3. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,内部view不会货到down,后续的move, up等事件也不再传递给onInterceptTouchEvent(),当然,move,up也不会传给view
4. 如果最终需要处理事件的view的onTouchEvent()返回了false,那么该事件将被传递至其上一层次的view的onTouchEvent()处理。
5. 如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理。
6. group的touch和这个机制没关系,与上一级有关系。
所以总结一下几点
1,group为false ,view为false ,的情况,touch每次都会从group到view ,view设了false(说明他不想处理了),但是group是false,就不得不把touch每次都给view,所以view每次都被强迫接受一次touch(down,up,move中的一个);
2,group 为true ,view 是什么都无所谓了,人家group根本就不给你touch。当然,如果你想的到一次的话,你可以在group的onInterceptTouchEvent中加上View view = findViewById(id);view.dispatchTouchEvent(event); 来触发view仅有的一次touch;
3,group 为false,view为true,的情况,跟第一种基本一样,第一种的view每次都被强迫,跟他自己接受没什么区别,所以几乎一样。
这篇文章是有问题的,具体问题在总结的第一点,关于这个问题的详细介绍请看我转载和写的两篇关于这三个函数的介绍
转自网易博客
http://blog.163.com/mount_lee/blog/static/202025095201252833341640/
- onInterceptTouchEvent()的机制
- onInterceptTouchEvent()的机制
- onInterceptTouchEvent()的机制
- onInterceptTouchEvent()的机制
- onInterceptTouchEvent()的机制
- onInterceptTouchEvent()与onTouchEvent()的机制
- onInterceptTouchEvent()与onTouchEvent()的机制
- onInterceptTouchEvent()与onTouchEvent()的机制
- Android事件传递机制以及ViewGroup的onInterceptTouchEvent的理解
- Android的事件分发机制 ---dispatcTouchEvent、onInterceptTouchEvent、onTouchEvent
- onInterceptTouchEvent与OnTouchEvent事件机制
- 关于View的学习点 和onInterceptTouchEvent()与onTouchEvent()的机制:
- 安卓中滑动事件的传递机制及dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的调用
- view的onInterceptTouchEvent 方法
- onTouchEvent 、onInterceptTouchEvent的顺序~
- ViewGroup的onInterceptTouchEvent()方法
- onTouchEvent 、onInterceptTouchEvent的顺序~
- 详细剖析 android onInterceptTouchEvent(MotionEvent event) 和 onTouchEvent(MotionEvent event) 的事件传递机制
- 所引用的程序集没有强命名
- hdu3466
- 【Maven实用技巧】03. Maven 编译打包时如何忽略测试用例
- hdu 4059 The Boss on Mars(容斥原理)
- OCP-1Z0-053-V12.02-12题
- onInterceptTouchEvent()的机制
- 用一组键盘和鼠标控制局域网内的多台电脑!
- hdu 3887 (树状数组)
- c语言的内存机制以及分配情况
- 外企面试英文准备
- 高频笔试题strcpy()的写法
- MFC CStringArray使用方法
- 堆栈
- php方向面试题-001