GestureDetector 和 ScrollView混用后onFling无法正常工作
来源:互联网 发布:少儿趣味编程 编辑:程序博客网 时间:2024/05/18 16:13
开始在学习用GestureDetector中的onFling,都正常,可是加入ScrollView后就没法响应了, google了很久,似乎也没个具体的方法,后来看到说用dispatchTouchEvent(MotionEvent ev) 的方法,果然可以,不过帖子没说具体怎么办,查了些文档,试验了几个方法,果然找到了一个,和大家分享下。
具体原因我也不是很明白,可能是因为ScrollView抢占了MotionEvent 事件,所以GestureDetector
捕获不到任何的touch event,自然就不会相应了,方法是@override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
scroll.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
然后发送MotionEvent分别给你的GestureDetector和ScrollView,而不是dispatchMotionEvent,我猜 测dispatch后会被ScrollView先取走,从而GestureDetector就无法响应了,所以这里就都派发出去。
声明,我试验过了,是可以的,不过没有理论上面的支撑,所以哪位知道的还请给个具体些的解释哈
eg1:
从今天解决的一个问题了解到, viewGroup的dispatchTouchEvent方法会在其onInterceptTouchEvent方法之前被触发.
又搜了些资料,个人觉得最受用的总结如下:
首先触发ACTIVITY的dispatchTouchEvent
然后触发ACTIVITY的onUserInteraction
然后触发LAYOUT的dispatchTouchEvent
然后触发LAYOUT的onInterceptTouchEvent
供参考的文章蛮多的,我不再废话了:
http://blog.csdn.net/iefreer/archive/2009/09/23/4586351.aspx
http://blog.csdn.net/ddna/archive/2010/04/11/5473293.aspx
http://blog.csdn.net/ddna/archive/2010/04/05/5451722.aspx
http://blog.csdn.net/G_rrrr/archive/2009/11/24/4861189.aspx
- GestureDetector 和 ScrollView混用后onFling无法正常工作
- GestureDetector 和 ScrollView混用后onFling无法正常工作
- Android解决ScrollView中的滑动效果导致GestureDetector中的OnFling不能正常工作问题
- activity添加ScrollView后onFling不起作用,无法滑动问题
- activity添加ScrollView后或外部容器为RelativeLayout时onFling不起作用,无法滑动问题
- onFling()和onSingleTapUp()方法无法触发
- NodeJS升级后npm无法正常工作的解决方法
- Tomcat无法正常工作
- ScrollView和GestureDetector触屏事件冲突
- ScrollView和GestureDetector触屏事件冲突
- android.view.GestureDetector.OnGestureListener onFling() vs onScroll()
- GestureDetector中onFling()与onScroll()的区别
- GestureDetector中onFling()与onScroll()的区别
- onFling无法触发
- onFling无法触发
- 关于putty 和secureCRT登录,无法正常工作的问题
- ScrollView和ListView混用时引发的一系列问题的解决方案
- Android中ScrollView无法正常achartengine
- POJ 2750 Potted Flower (单点修改求线段树上最大子序列和)
- 1407180848-poj-A+B Problem.cpp
- Swift编程语言学习14——Swift中如何使用继承(Inheritance)
- poj 1000 a+b
- C++ const详解
- GestureDetector 和 ScrollView混用后onFling无法正常工作
- 图片上传实现预览效果HTML5篇
- 杭电 1005 Number Sequence
- BP深度学习方法
- 读《程序员的职业素养》
- oracle中java JDK下载地址
- js异常集锦
- 染色基础知识(四)——怎么染?
- Autocad中字体乱码的解决办法