我有一个FrameLayout
包含许多东西的容器(包括ScrollView
, WebView
, ViewPager
...).
我希望能够触发此容器上的 onClick 事件,但似乎有些ScrollView
, WebView
and ViewPager
拦截触摸事件,因为只有当我单击容器中没有任何触摸事件的部分时才会触发 onClick 事件...
如何禁用容器子级上的所有触摸事件,以便能够在其中的任何位置触发 onClick?
UPDATE
这个想法是拥有类似于 Android 3.2 中的任务管理器的东西,即应用程序的当前可见屏幕显示为可以单击的缩小图标。
Thanks
可能我误解了一些东西,但我想你的问题的答案很简单:
如果您不想向子级发送任何触摸事件 - 那么您只需要覆盖ViewGroup.onInterceptTouchEvent (MotionEvent ev)
API参考像这样:
public boolean onInterceptTouchEvent (MotionEvent ev){
return true;
}
根据 android 文档,这意味着您的 ViewGroup 将始终拦截所有触摸事件,并且不会将它们分派给子级。所有这些都将被引导至ViewGroup.onTouchEvent(MotionEvent ev)
ViewGroup 的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)