繁体   English   中英

android - 布局下的按钮仍然可以触摸

[英]android - button under a layout is still touchable

我有一个带有5个按钮的布局,每个按钮都有一个OnTouchListener ,可以在屏幕上(按钮顶部)滑动框架布局,但之后我的所有5个按钮仍然可以触摸。

如何禁用其他布局下的视图的触摸,例如填充片段的FrameLayout

<Button
    style="@style/tab_btn"
    android:background="@drawable/village_button"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_height="70dp"
    android:layout_width="70dp"
    android:text=""
    android:onClick="buttonPress"/>

<Button
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/sidebar_btn"
    android:id="@+id/sidebar_btn4"
    android:layout_marginTop="80dp"
    android:layout_marginLeft="-18dp" />
<Button
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/sidebar_btn"
    android:id="@+id/sidebar_btn3"
    android:layout_marginTop="120dp"
    android:layout_marginLeft="-18dp" />
<Button
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/sidebar_btn"
    android:id="@+id/sidebar_btn2"
    android:layout_marginTop="160dp"
    android:layout_marginLeft="-18dp" />
<Button
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/sidebar_btn"
    android:id="@+id/sidebar_btn"
    android:layout_marginTop="200dp"
    android:layout_marginLeft="-18dp" />
<FrameLayout
    android:layout_width="160dp"
    android:layout_height="match_parent"
    android:layout_marginTop="-17dp"
    android:layout_marginLeft="-176dp"
    android:layout_marginBottom="-17dp"
    android:id="@+id/sidebar"
    android:background="@color/black">

</FrameLayout>

我认为你必须将android:clickable="true"FrameLayout

因此,它可以捕获按钮上方的触摸或点击事件

<FrameLayout
    android:layout_width="160dp"
    android:layout_height="match_parent"
    android:layout_marginTop="-17dp"
    android:layout_marginLeft="-176dp"
    android:layout_marginBottom="-17dp"
    android:id="@+id/sidebar"
    android:clickable="true"
    android:background="@color/black">

试试用

 bt.setVisible(View.GONE);

在您需要禁用的按钮上,如果您需要再次使用它,您可以使用

 bt.setVisible(View.VISIBLE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM