如何对齐表格布局中的按钮?

时间:2013-07-05 02:48:55

标签: android android-layout android-tablelayout

我想在表格行中对齐三个按钮。我似乎无法正确地对齐它们。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/TableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:stretchColumns="*" >

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>
</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_weight="0.33"
        android:background="@drawable/bar" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_weight="0.33"
        android:layout_height="wrap_content"
        android:background="@drawable/pie" />

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_weight="0.33"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:background="@drawable/bar" />
</TableRow>

我有上面的代码用于布局。我想在顶部有一个edittext,在它下面有3个按钮。但是按钮超出了edittext,即使edittext宽度是det_parent。谁能告诉我为什么会这样呢?

Layout Screenshot

我实际上想以编程方式执行此操作。首先在xml中尝试,然后将其转换为编程。

提前致谢。

1 个答案:

答案 0 :(得分:1)

好吧,试试吧。基本上,如果您希望控件占用多列,则必须使用layout_span来指示列数。

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_weight="1"
        android:layout_span="3">

        <requestFocus />
    </EditText>
</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_weight="1"
        android:background="@drawable/bar"
     />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:background="@drawable/pie"
         />

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:background="@drawable/bar"
         />
</TableRow>