18

在下面的 UI 中,我在下面可以覆盖整个屏幕。LinearLayout 是透明的,并允许其下方的控件可点击或可触摸。基本上,我可以滚动此 LinearLayout 下方的列表以及单击控件。我该如何禁用它?

见附件示例。在此处输入图像描述

谢谢

<RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rlExtNavbar" 
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:gravity="fill_vertical"
    android:layout_gravity="fill_vertical"
    android:background="@color/transparent" xmlns:tools="http://schemas.android.com/tools" tools:ignore="Overdraw">
    <RelativeLayout
        android:id="@+id/expandedNavbarLayout" 
        android:orientation="vertical"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" >
    </RelativeLayout>
    <LinearLayout
        android:id="@+id/transparentLayout" 
        android:orientation="vertical"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:layout_below="@id/expandedNavbarLayout"
        android:focusableInTouchMode="false"
        android:focusable="false"
        android:background="@color/fulltransparent">
    </LinearLayout>

</RelativeLayout>
4

3 回答 3

115

只需android:clickable="true"在 XML 中设置 LinearLayout 的属性即可防止点击通过——无需点击监听器。

于 2012-04-22T01:53:06.287 回答
2

将点击分配给线性布局并解决了它。老实说,它不应该像这样开始工作,但它解决了问题。点击为空。

于 2012-04-12T21:12:52.510 回答
0

对我有用的是将 LinearLayout 放在 xml 中的内部 RelativeLayout 之前。

于 2014-07-04T14:18:36.690 回答