如何在android中创建此布局

时间:2012-11-13 10:18:32

标签: android android-layout android-xml android-tablelayout

如何在android

中创建此布局
---------------------
|col1 | col2 | col3 |
|  col1   |  col2   |
---------------------

第一行是3列宽度相等,第二行是2行宽度相等。 是否可以在TableLayout中创建它? 我确实试过宽度android:layout_span =" 2"对于最后一个单元格,但它不会以相等的宽度结束。

<TableLayout
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">
    <TableRow android:layout_marginTop="6dp">
        <Button 
            android:id="@+id/button1"
            android:layout_weight="33"
            android:textStyle="bold"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button2"
            android:layout_weight="33"
            android:textStyle="bold"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button8"
            android:layout_weight="33"
            android:textStyle="bold"
            android:text="@string/percent" />
    </TableRow>
    <TableRow android:layout_marginTop="6dp">
        <Button 
            android:id="@+id/button3"
            android:layout_weight="60"
            android:textStyle="bold"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button4"
            android:layout_weight="40"
            android:layout_span="2"
            android:textStyle="bold"
            android:text="@string/percent" />
    </TableRow>
</TableLayout>

2 个答案:

答案 0 :(得分:1)

您可以使用LinearLayout获取该结果,请尝试使用:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
       <Button 
            android:id="@+id/button1"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button2"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textStyle="bold"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button8"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:text="@string/percent" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

         <Button 
            android:id="@+id/button3"
            android:layout_weight="1"
            android:textStyle="bold"
            android:layout_height="wrap_content"
            android:text="@string/percent" />
        <Button 
            android:id="@+id/button4"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:text="@string/percent" />
</LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

在第2行,不要使用span并且放置相同的权重:

<TableRow android:layout_marginTop="6dp" >

    <Button
        android:id="@+id/button3"
        android:layout_weight="50"
        android:text="@string/percent"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button4"
        android:layout_weight="50"
        android:text="@string/percent"
        android:textStyle="bold" />
</TableRow>