GridLayout中如何设置格子大小
时间: 2023-12-03 07:43:14 浏览: 259
在GridLayout中设置格子大小,可以使用layout_columnWidth和layout_rowHeight属性来控制。这两个属性可以设置为具体的像素值或者是权重值。
例如,设置每个格子的宽度为50dp,高度为80dp,可以这样写:
```
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="3"
android:rowCount="3"
android:layout_margin="16dp"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false"
android:useDefaultMargins="true"
android:layout_gravity="center"
android:layout_columnWidth="50dp"
android:layout_rowHeight="80dp">
<!-- 你的子视图 -->
</GridLayout>
```
在这里,我们设置了GridLayout的columnWidth属性为50dp,rowHeight属性为80dp。这将使得每个格子的大小都为50dp x 80dp。如果你想要根据权重来设置格子的大小,可以将这两个属性设置为0,并使用layout_columnWeight和layout_rowWeight来设置权重值。
例如,设置列的权重比为2:1:1,行的权重比为1:2:1,可以这样写:
```
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="3"
android:rowCount="3"
android:layout_margin="16dp"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false"
android:useDefaultMargins="true"
android:layout_gravity="center"
android:layout_columnWidth="0dp"
android:layout_rowHeight="0dp">
<TextView
android:layout_columnWeight="2"
android:layout_rowWeight="1"
android:text="1"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="2"
android:text="2"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="3"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="4"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="2"
android:text="5"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="6"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="7"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="2"
android:text="8"/>
<TextView
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="9"/>
</GridLayout>
```
在这里,我们设置了GridLayout的columnWidth和rowHeight属性为0dp,表示我们使用权重来控制格子的大小。然后,我们在每个TextView中使用layout_columnWeight和layout_rowWeight属性来设置权重值,以达到指定的权重比例。
阅读全文