我对gridLayout有以下设计:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount="3"
android:orientation="horizontal" >
<Button android:text="1" />
<Button
android:layout_gravity="fill"
android:layout_rowSpan="2"
android:text="2" />
<Button
android:layout_gravity="fill"
android:layout_rowSpan="3"
android:text="3" />
<Button
android:layout_gravity="fill"
android:layout_rowSpan="2"
android:text="4" />
<Button
android:text="5" />
<Button
android:text="6" />
<Button
android:text="7" />
<Button
android:text="8" />
<Button
android:text="9" />
</GridLayout>
这就是我得到的:
但这就是我想要的:
可能会发生什么?这是为什么?我可以用gridLayout做我想做的事吗? (这只是学习如何使用这种布局的一个例子)
答案 0 :(得分:0)
问题是GridLayout
无法定义第二行的高度;它最终是高度0dp。您可以通过添加一列视图来解决此问题,每列视图高一行android:layout_width="0dp"
,高度与您的一个单行视图相同,且无重力。它们不会占用布局的任何可见部分,但它们会强制每行的行具有非零高度。