我有一个包含 5 个按钮的布局,每个按钮都有一个 OnTouchListener 可以在屏幕上滑动框架布局(在按钮顶部),但之后我的所有 5 个按钮仍然可以触摸。
How to disable touch for views that is under other layouts such as
FrameLayout
that filled with a fragment ?
<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">
关于java - android - 布局下的按钮仍然可以触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369354/