如何禁用ViewGroup的所有子项上的所有触摸事件?

jul*_*jul 11 android onclick scrollview webview android-viewpager

我有一个FrameLayout包含很多东西的容器(包括ScrollView,WebView,ViewPager...).

我想能够触发该容器上的onClick事件,但似乎一些ScrollView,WebViewViewPager拦截触摸事件,因为onClick事件时才会触发,当我点击容器没有任何的零件他们...

如何禁用容器子项上的所有触摸事件,以便能够在其中的任何位置触发onClick?

UPDATE

想法是在Android 3.2中使用类似任务管理器的东西,即应用程序的当前可见屏幕显示为缩小图标,可以单击.

谢谢

rus*_*t0R 18

可能是我误解了一些东西,但我想你问题的答案很简单:如果你不想向孩子们发送任何触摸事件 - 所以你只需要覆盖ViewGroup.onInterceptTouchEvent (MotionEvent ev) API参考,如下所示:

public boolean onInterceptTouchEvent (MotionEvent ev){
    return true;
}
Run Code Online (Sandbox Code Playgroud)

根据android文档,这意味着您的ViewGroup将始终拦截所有触摸事件,并且不会将它们发送给孩子.所有这些都将定向到ViewGroup.onTouchEvent(MotionEvent ev)ViewGroup 的方法.