android - Android GridLayout — 删除一个布局权重会导致所有其他单元格消失
问题描述
我用一堆按钮创建了一个简单的 GridLayout。每个按钮都有layout_columnWeight
并layout_rowWeight
设置为“1”以使网格布局扩展以填充空间。
如果我删除任何权重,例如layout_columnWeight
从左上角的按钮,该列中的所有其他按钮都会消失。
谁能解释这里发生了什么?
我的完整布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/colorAccent">
<Button
android:id="@+id/button24"
android:text="7"
app:layout_column="0"
app:layout_row="1"
app:layout_columnWeight=".01"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button25"
android:text="8"
app:layout_column="1"
app:layout_row="1"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button26"
android:text="9"
app:layout_column="2"
app:layout_row="1"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button28"
android:text="4"
app:layout_column="0"
app:layout_row="2"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button29"
android:text="5"
app:layout_column="1"
app:layout_row="2"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button30"
android:text="6"
app:layout_column="2"
app:layout_row="2"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button34"
android:text="1"
app:layout_column="0"
app:layout_row="3"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button35"
android:text="2"
app:layout_column="1"
app:layout_row="3"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<Button
android:id="@+id/button36"
android:text="3"
app:layout_column="2"
app:layout_row="3"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
</androidx.gridlayout.widget.GridLayout>
</LinearLayout>
解决方案
推荐阅读
- javascript - 我对 JavaScript Feature 有疑问——destructuring_assignment
- java - 编译器检测到 Eclipse 引用库 jar,但在运行时未检测到
- google-maps - 当我在单击标记时使用自定义弹出窗口时,我无法通过动画谷歌相机来放大相机
- c# - 如何执行嵌套?SQL中的请求?
- microsoft-graph-api - 列出地点 Microsoft Graph API
- api - REST API 设计和构建 URL
- google-sheets - 根据从当前日期确定的开始日期和结束日期显示即将到来的到期日期
- flutter - Flutter中如何通过多个类读取数据?
- neo4j - Neo4j 如何导出一个集合并导入为新集合
- sql - 如何将日期“20200901”转换为“01-Sep-20”