0

我的主要活动 Android .xml 表格布局是一个简单的图像表格,3 列 x 4 行。一切都设置为 match_parent 宽度、高度和重量 1,这在 GUI 编辑器中呈现略微错误,但在我的手机上还可以。

如果我然后在 .xml 中在底行之前添加一行以添加文本标签,它要么根本不渲染该行,要么在稍微戳一下之后,渲染文本但用最后一行切断底部。

以下是.xml,冗长但非常简单和重复。

<TableLayout
    android:layout_gravity="bottom"
    android:layout_weight="1"
    android:stretchColumns="*"       
    android1:layout_width="match_parent"
    android1:layout_height="match_parent"
    android1:layout_alignParentBottom="true"
    android1:layout_alignParentLeft="true"
    android1:layout_alignParentRight="true"
    android1:layout_alignParentTop="true" >

    <TableRow
        android1:id="@+id/tableRow1"
        android1:layout_width="match_parent"
        android1:layout_height="match_parent"
        android1:layout_weight="1" >

        <ImageView
            android1:id="@+id/x2"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:clickable="true"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_2x"
            android1:tag="2" />

        <ImageView
            android1:id="@+id/x3"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_3x"
            android1:tag="3" />

        <ImageView
            android1:id="@+id/x4"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_4x"
            android1:tag="4" />

    </TableRow>

    <TableRow
        android1:id="@+id/tableRow3"
        android1:layout_width="match_parent"
        android1:layout_height="match_parent"
        android1:layout_weight="1" >

        <ImageView
            android1:id="@+id/x5"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_5x"
            android1:tag="5" />

        <ImageView
            android1:id="@+id/x6"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_6x"
            android1:tag="6" />

        <ImageView
            android1:id="@+id/x7"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_7x"
            android1:tag="7" />

    </TableRow>

    <TableRow
        android1:id="@+id/tableRow4"
        android1:layout_width="match_parent"
        android1:layout_height="match_parent"
        android1:layout_weight="1" >

        <ImageView
            android1:id="@+id/x8"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_8x"
            android1:tag="8" />

        <ImageView
            android1:id="@+id/x9"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_9x"
            android1:tag="9" />

        <ImageView
            android1:id="@+id/x10"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="SetTable"
            android1:padding="5dp"
            android1:scaleType="fitCenter"
            android1:src="@drawable/menu_10x"
            android1:tag="10" />

    </TableRow>

    <TableRow
        android1:id="@+id/TableRow01"
        android1:layout_width="match_parent"
        android1:layout_height="match_parent"
        android1:layout_weight="1" >

        <TextView
            android1:id="@+id/TextView02"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_span="2"
            android1:layout_weight="1"
            android1:text="Left two buttons"
            android1:textColor="#000000"
            android1:textSize="16dp"
            android1:textStyle="normal" />

        <TextView
            android1:id="@+id/textView1"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:text="Right button"
            android1:textColor="#000000"
            android1:textSize="16dp"
            android1:textStyle="normal" />

    </TableRow>

    <TableRow
        android1:id="@+id/TableRow5"
        android1:layout_width="match_parent"
        android1:layout_height="match_parent"
        android1:layout_weight="1" >

        <ImageView
            android1:id="@+id/ImageView07"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="LaunchPR"
            android1:scaleType="fitCenter"
            android1:src="@drawable/pushbutton_1"
            android1:tag="1" />

        <ImageView
            android1:id="@+id/ImageView08"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="LaunchPR"
            android1:scaleType="fitCenter"
            android1:src="@drawable/pushbutton_1"
            android1:tag="2" />

        <ImageView
            android1:id="@+id/ImageView09"
            android1:layout_width="match_parent"
            android1:layout_height="match_parent"
            android1:layout_weight="1"
            android1:onClick="LaunchPR"
            android1:scaleType="fitCenter"
            android1:src="@drawable/pushbutton_2"
            android1:tag="3" />

    </TableRow>

</TableLayout>

4

1 回答 1

0

如果将 设置TableLayout为填充 parent( match_parent),则不需要该layout_weight属性。如果您打算使垂直占据相等的空间layout_weight(例如,如果您有 4 行,那么您将需要在和上设置以使四个大小相等的垂直行(填满屏幕))。TableRowsTableRowsandroid:weightSum="4"TableLayoutandroid:layout_weight="1"TableRows

此外,该android:stretchColumns="*"属性将拉伸所有表格的列,因此您不需要TableRow.

于 2012-11-30T11:56:27.683 回答