如何将GridLayout置于其相对布局父级中心?

时间:2013-12-26 11:36:48

标签: android css

<RelativeLayout
    android:id="@+id/behindChessBoard"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <GridLayout
        android:id="@+id/chessBoard"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:columnCount="8"
        android:rowCount="8" >


    <ImageButton
        android:id="@+id/cell00"
        android:layout_column="0"
        android:layout_row="0"
        android:background="@color/chessTan"
        android:scaleType="fitXY"
        android:contentDescription="00" />

    <ImageButton
        android:id="@+id/cell01"
        android:layout_column="1"
        android:layout_row="0"
        android:scaleType="fitXY"
        android:background="@color/chessBrown"
        android:contentDescription="01" />

        ... so on and so forth...

    </GridLayout>
</RelativeLayout>

目前,网格布局位于屏幕的顶部。我想要水平和垂直居中。有什么想法吗?

编辑:注意,centerInParent =“true”没有做任何事情。

EDIT2:找到了答案,我不得不设置gridlayout来包装内容,我还要写android:layout_centerVertical =“true”

1 个答案:

答案 0 :(得分:5)

当您将高度和宽度设置为match_parent时,它不会垂直居中于您的内容。将高度和宽度设置为wrap_content

像这样:

<GridLayout
        android:id="@+id/chessBoard"
        android:layout_width="wrap_cotent"
        android:layout_height="wrap_cotent"
        android:layout_centerInParent="true"
        android:columnCount="8"
        android:rowCount="8" >