我正在尝试使用GridLayout在中心生成4个相同的框,但我得到以下内容:
我一定是做错了。我的代码不应该至少填满屏幕吗?这是我的代码:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="8"
android:rowCount="8">
<Button
android:layout_columnSpan="4"
android:layout_rowSpan="4"
android:layout_rowWeight="4"
android:layout_columnWeight="4"
android:text="1" />
<Button
android:layout_columnSpan="4"
android:layout_rowSpan="4"
android:layout_rowWeight="4"
android:layout_columnWeight="4"
android:text="2" />
<Button
android:layout_columnSpan="4"
android:layout_rowSpan="4"
android:layout_rowWeight="4"
android:layout_columnWeight="4"
android:text="3" />
<Button
android:layout_columnSpan="4"
android:layout_rowSpan="4"
android:layout_rowWeight="4"
android:layout_columnWeight="4"
android:text="4" />
</GridLayout>
有谁知道可能缺少什么?
由于
答案 0 :(得分:0)
PercentRelativeLayout很好地解决了这个问题:
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/button_s"
app:layout_widthPercent="30%"
app:layout_heightPercent="30%"
app:layout_marginTopPercent="10%"
app:layout_marginLeftPercent="15%"
app:layout_marginRightPercent="5%"/>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/button_c"
app:layout_widthPercent="30%"
app:layout_heightPercent="30%"
app:layout_marginTopPercent="10%"
app:layout_marginLeftPercent="5%"
app:layout_marginRightPercent="15%"
android:layout_toRightOf="@id/button_s"/>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/button_r"
app:layout_widthPercent="30%"
app:layout_heightPercent="30%"
app:layout_marginTopPercent="10%"
app:layout_marginLeftPercent="15%"
app:layout_marginRightPercent="5%"
android:layout_below="@id/button_s"/>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_widthPercent="30%"
app:layout_heightPercent="30%"
app:layout_marginTopPercent="10%"
app:layout_marginLeftPercent="5%"
app:layout_marginRightPercent="15%"
android:layout_toRightOf="@id/button_r"
android:layout_below="@id/button_c"/>
</android.support.percent.PercentRelativeLayout>
答案 1 :(得分:0)
取决于您想要实现的目标:
将按钮放在单元格的中心,添加
android:layout_gravity="center"
填写可用空间,添加
android:layout_gravity="fill"
有关详细信息,请参阅android:layout_gravity
。您可以将其与ViewGroup.MarginLayoutParams
结合使用。