Android TableLayout删除填充

时间:2014-09-02 22:55:41

标签: android android-layout android-tablelayout

我要做的是从TableLayout中删除每个填充和边距,并显示平铺的子项按钮。

这是activity_main.xml代码

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".Main"
    android:orientation="horizontal"
    android:baselineAligned="false">

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button4" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button2" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button3" />
    </TableRow>

</TableLayout>

所有填充都设置为0.

这就是我得到的:

这就是我想要的:

1 个答案:

答案 0 :(得分:0)

TableLayoutTableRow都是LinearLayouts。因此,使用weight属性可以获得所需的结果:

  1. TableLayout's宽度和高度设置为match_parent
  2. layout_height="0dp"设置layout_weight="0.5"TableRows,使其符合每个屏幕高度的50%;
  3. 将每个Button's高度设置为match_parent以填充行的高度,并设置其layout_width="0dp"layout_weight="0.5"以均等地适合行的宽度。
  4. 这是布局:

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.5">
    
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="New Button"
            android:id="@+id/button1" />
    
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="New Button"
            android:id="@+id/button4" />
    </TableRow>
    
    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.5">
    
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="New Button"
            android:id="@+id/button2" />
    
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="New Button"
            android:id="@+id/button3" />
    </TableRow>
    
    </TableLayout>
    

    以下是它的样子:

    enter image description here