将触摸事件传递给下方的视图

57

在我的应用程序中,有一个位于活动之上的片段。该片段填满整个屏幕。该片段的一部分是透明视图,您可以看到底层视图(属于活动)。有没有办法将触摸事件传递到透明视图下面的视图?

谢谢!

3
只要透明视图(或其父视图)没有设置 onclicklistener,我认为这应该是标准行为。 - Ivo
3个回答

42
在你的片段中覆盖 onTouchEvent 方法时,返回false,它会将触摸事件传递给底层视图。

38

最简单的方法:

从这里开始:https://dev59.com/qYPba4cB1Zd3GeqPozPm#34436589

使用以下方式声明您的片段不可点击/聚焦:

android:clickable="false"

android:focusable="false"
v.setClickable(false)

v.setFocusable(false)

现在应将点击事件分派给片段的父级。

注意:为了实现这一点,您必须将一个点击事件添加到其直接父级。或者将 android:clickable = "false" 和 android:focusable = "false" 设置为其直接父级,以将监听器传递给更高层次的父级。


1
运行得非常好! - crysxd
这对于在框架内重叠的布局无效。 - Emil

3

2
在 XML 文件中呢? - ghita

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接