Выравнивание кнопок Android с использованием макета таблицы

Я пытался выровнять три кнопки с помощью Table Row, но средняя остается в воздухе, есть идеи, что я упускаю?

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:stretchColumns="*">

    <TableRow
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">

    <Button
        android:id="@+id/abc" android:text="ABC"
        android:layout_weight="1" 
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>

    <Button
        android:id="@+id/def" android:text="DEF"
        android:layout_weight="1" 
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>

    <Button
        android:id="@+id/ghi" android:text="GHI"
        android:layout_weight="1"
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>
</TableRow>  

Не удалось прикрепить снимок, но дам подсказку ниже, нарисовав. Первая и третья кнопки в порядке, а вот средняя остается немного приподнятой снизу. Есть идеи ?

**********************************
*                                *
*   ABC        DEF        GHI    * 
*          ************          *
************          ************

person user1223035    schedule 10.04.2013    source источник
comment
Не удалось добавить снимок, так как в моем профиле отсутствуют некоторые учетные данные.   -  person user1223035    schedule 10.04.2013
comment
Я скопировал этот код в свой демонстрационный макет. Он отображает три кнопки внизу в одной строке. В чем проблема? Не могли бы вы поделиться каким-нибудь фиктивным экраном для этого?   -  person krishna    schedule 10.04.2013


Ответы (2)


Попробуй это,

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:stretchColumns="*" >

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >

        <Button
            android:id="@+id/abc"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="20dip"
            android:text="ABC"
            android:textColor="#000000" />

        <Button
            android:id="@+id/def"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="20dip"
            android:text="DEF"
            android:textColor="#000000" />

        <Button
            android:id="@+id/ghi"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="20dip"
            android:text="GHI"
            android:textColor="#000000" />
    </TableRow>
</TableLayout>

</RelativeLayout>
person Yugesh    schedule 10.04.2013

попробуйте использовать это

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:stretchColumns="*">

    <TableRow
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">

    <Button
        android:id="@+id/btnManualLookup" android:text="ABC"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1" 
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>

    <Button
        android:id="@+id/downloadcerti" android:text="DEF"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1" 
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>

    <Button
        android:id="@+id/settingsbutton" android:text="GHI"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:textColor="#000000"
        android:padding="20dip" android:gravity="center"/>
</TableRow>  
person Kosh    schedule 10.04.2013
comment
Пожалуйста, предлагайте правильные ответы, ваш ответ содержит ошибки. Вы не можете определить String для android:height. Также я попробовал android:layout_height вместо android:height, который даже не будет работать. - person user1223035; 10.04.2013
comment
@Krishna, поскольку мне не разрешено делиться снимком экрана, потому что у меня нет некоторых учетных данных для публикации изображений в stackoverflow, я нарисовал тот же сценарий выше. Средняя кнопка остается в воздухе - person user1223035; 10.04.2013
comment
Я получил ответ. В коде проблем нет. Я устанавливал цвет для двух других кнопок в классе как button.setBackgroundColor(Color.GRAY); из-за чего третья кнопка выглядела иначе. Вы также можете использовать мой код для установки трех кнопок в одну строку с помощью TableLayout - person user1223035; 10.04.2013
comment
извините, ребята, была опечатка !! - person Kosh; 10.04.2013