android - 包含 ImageView 和 TextView 时,Android 布局不可点击
问题描述
我有如下布局。共有五个类似的选项卡。当我在代码中将 onClickListener 设置为 LinearLayout tab_dashboard 时,没有任何触发。我还必须将单击侦听器设置为 ImageButton 和 TextView 以使整个区域可单击。我试图设置所有子项 clickable="false" 和 duplicateParentState="true",没有运气。我还尝试将 ImageButton 更改为 ImageView,同样的问题。有人对此有想法吗?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/tab_dashboard"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white"
android:gravity="center"
android:orientation="vertical">
<ImageButton
android:id="@+id/dashboard_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@android:color/white"
android:src="@drawable/ic_dashboard" />
<TextView
android:id="@+id/dashboard_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="@string/dashboard"
android:textSize="10sp" />
</LinearLayout>
<!-- Four more similar tabs -->
</LinearLayout
解决方案
我通过用其他实现相同效果的方式替换 android:layout_width="0dp" 和 android:layout_weight="1" 解决了这个问题。我猜 android:layout_width="0dp" 可能是这个问题的原因。以后会做更多的调查。
推荐阅读
- docker - Jenkins docker 容器只是挂起并且从不执行步骤
- html - 使用 WCAG 3.2 处理打开新选项卡和确保 Web 可访问性的技术
- tensorflow - 这个 TensorFlow 偏置向量的形状是否正确?
- java - org.opendaylight.yangtools.yang.model.api 中是否有任何类可用于tailf:action?
- reactjs - import * as react from 'react' 与 import react from 'react' 有什么区别
- azure - 错误 NU1102:无法找到版本 (>= 4.9.3) 的包 NuGet.Frameworks
- regex - Powershell正则表达式用于两个特殊字符之间的字符串
- mysql - 如何在 lumen 中配置 .env 文件?
- couchbase - Couchbase 在添加新文档时无法访问视图
- mysql - 查找包含给定坐标的圆的 MySQL 查询