我有一个带有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>
答案 0 :(得分:3)
我认为您必须将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">
答案 1 :(得分:0)
尝试使用
bt.setVisible(View.GONE);
在需要禁用的按钮上,如果需要再次使用,可以使用
bt.setVisible(View.VISIBLE);