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

标签 java android layout

我有一个包含 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/

相关文章:

Android Instant App 未正确安装(表现像普通应用程序)

java - 线程运行时按钮 onClick() 不起作用

html - 带填充的嵌套 Bootstrap 布局

java - 用 Java 生成 SVG 图像

java - 在Elasticsearch查询结果中隐藏一些数组元素

java - 从任务管理器中隐藏 Android 应用程序

java - 垂直 Swing 调整一个 Pane 的大小以扩大其他 Pane 的收缩(修改后的BorderLayout)

android - 在不同密度下使用 dp 和 sp 时遇到问题

REST-assured 3.0.0 和 Java 11 出现 java.lang.NoClassDefFoundError(Java 8 未观察到)

java - 数组搜索代码