0

我可能在这里遗漏了一些明显的东西,但我似乎无法弄清楚。我正在寻找像 1、5 或 6 这样的结果,即单排 3 个均匀分布的按钮,这些按钮填充了屏幕的宽度。然而不幸的是,这些方法中的每一个似乎都有问题。1 给我一个警告,“这个 TableRow 布局或其 TableLayout 父级可能没用”,而 5 和 6 给出“嵌套权重对性能不利”。所以基本上我想知道最好的方法是什么。我应该忽略 1 号上的警告,还是可以让它们仅使用 TableRow 或 TableLayout 正确显示

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >

<!-- No.1 -->
<TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="*" >
    <TableRow android:id="@+id/tbRow0" android:layout_width="wrap_content" android:layout_height="wrap_content" >
        <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num1" />
        <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num2" />
        <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num3" />
    </TableRow>
</TableLayout>

<!-- No.2 -->
<TableRow android:id="@+id/tbRow1" android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num1" />
    <Button android:id="@+id/btn5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num2" />
    <Button android:id="@+id/btn6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num3" />
</TableRow>

<!-- No.3 -->
<TableRow android:id="@+id/tbRow2" android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn7" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/num1" />
    <Button android:id="@+id/btn8" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/num2" />
    <Button android:id="@+id/btn9" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/num3" />
</TableRow>

<!-- No.4 -->
<TableRow android:id="@+id/tbRow3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="*" >
    <Button android:id="@+id/btn10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num1" />
    <Button android:id="@+id/btn11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num2" />
    <Button android:id="@+id/btn12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num3" />
</TableRow>

<!-- No.5 -->
<TableRow android:id="@+id/tbRow4" android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn13" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num1" />
    <Button android:id="@+id/btn14" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num2" />
    <Button android:id="@+id/btn15" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num3" />
</TableRow>

<!-- No.6 -->
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn16" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num1" />
    <Button android:id="@+id/btn17" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num2" />
    <Button android:id="@+id/btn18" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num3" />
</LinearLayout>

<!-- No.7 -->
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn19" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num1" />
    <Button android:id="@+id/btn20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num2" />
    <Button android:id="@+id/btn21" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/num3" />
</LinearLayout>

</LinearLayout>
4

2 回答 2

1

我认为 5 是正确的,而且我没有收到嵌套权重警告。

也许这与 Agarwal 指出的有关。

编辑:对不起,我虽然 5 使用的是 LinearLayout。我的意思是:

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" >
    <Button android:id="@+id/btn13" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num1" />
    <Button android:id="@+id/btn14" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num2" />
    <Button android:id="@+id/btn15" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/num3" />
</LinearLayout>
于 2012-04-26T02:52:00.073 回答
0

在第一行之后的 xml 文件中,您正在关闭 tablelayout,但即使您在 2 ,5 行中使用表行也可能是一个问题。

如果您只需要一个,那么最好使用线性布局,因为性能不错,因为您有一个小的 xml 文件,这还可以。

于 2012-04-26T02:38:38.880 回答