在 Android 上处理多个快速运动检测器
基本上我有一个自定义的 TabHost
,它使用 dispatchTouchEvent
来捕获 flings 和更改选项卡。
问题是,现在我有一个带有 ViewPager
的选项卡。
发生的情况是 TabHost
正在捕获来自 ViewPager
的 fling 并更改选项卡。
我尝试检查 super.dispatchTouchEvent 是否已处理触摸事件,但显然,此超级调用始终返回 true。
这是我在 TabHost
中尝试使用的代码:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
boolean handled = super.dispatchTouchEvent(ev);
if(!handled) // This is always true... why?
return mGestureDetector.onTouchEvent(ev);
return handled;
}
是否有解决方法可以实现此目的?
如何检测 ViewPager 处理了该事件而不更改选项卡?
谢谢!
Basically I have a custom TabHost
that uses dispatchTouchEvent
to capture flings and change tabs.
The problem is, now I have a tab with a ViewPager
inside of it.
What happens is that the TabHost
is capturing the fling from the ViewPager
and changing the tab.
I tried to work around with a check of the super.dispatchTouchEvent
has handled the touch event, but apparently, this super call ALWAYS returns true.
Here is the code I tried using in my TabHost
:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
boolean handled = super.dispatchTouchEvent(ev);
if(!handled) // This is always true... why?
return mGestureDetector.onTouchEvent(ev);
return handled;
}
Is there a workarround to make this work?
How can I detect that the ViewPager handled the event and not change the tab?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论