GestureDetector 和 ScrollView混用后onFling无法正常工作
来源:互联网 发布:加油站网络平台 编辑:程序博客网 时间:2024/05/18 13:45
开始在学习用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
摘自eoeandroid
- 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
- structs登陆、单例模式、自定义异常
- 【Android】 ListView添加Button后响应OnItemClick事件以及View TAG的使用。
- check的3种用法
- Linux下tar、tar.gz、tar.Z、tgz、bz2包的解包及解压缩处理
- Boost 库中的实用工具类使用入门
- GestureDetector 和 ScrollView混用后onFling无法正常工作
- Lua语言的安装和编辑器的高亮、运行调试、定位出错行设置
- VirtualBox中共享文件夹设置
- 属性访问器(Property Accessor)----Setter/Getter
- C# PC客户端与Android服务端的Socket同步通信(USB)
- 到企业笔试或面试,你准备好了吗?(面试篇)
- Spring3文件上传,提速你的Web开发
- proxool连接池属性详细说明
- 图片无缝循环代码