如何让android按钮等宽?

时间:2012-11-14 00:07:48

标签: android layout

我已将android:layout_weight =“1”设置为所有3个按钮,但不起作用。

我的布局类似于:

<table1>
    <row></row>
    <row><button /><button /><button /></row>
    <row><table2><row>SOMETHING</row></table2></row>
</table1>

当table2被隐藏(“消失”)时,那些3个按钮看起来并不太糟糕,虽然它们没有相同的宽度,但当table2没有隐藏时,第一个按钮变大,我几乎看不到其他2个按钮,下面是完整的xml和快照:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" >

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

            <EditText
                android:id="@+id/editText1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:hint="Title" />
        </TableRow>

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

            <EditText
                android:id="@+id/editText2"
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:layout_weight="1"
                android:hint="Content"
                android:inputType="textMultiLine" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="A"
                android:text="A" />

            <Button
                android:id="@+id/button2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="B"
                android:text="B" />

            <Button
                android:id="@+id/button3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="C"
                android:text="C" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TableLayout
                android:id="@+id/optionalViewGroup"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_weight="1"
                > <!--  android:visibility="gone" -->

                <TableRow
                    android:id="@+id/tableRow5"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <EditText
                        android:id="@+id/editText4"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:ems="10"
                        android:hint="Tags (optional)" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow6"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <EditText
                        android:id="@+id/editText3"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:hint="Itinerary Name (optional)" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow7"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <EditText
                        android:id="@+id/editText5"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="date" />

                    <EditText
                        android:id="@+id/editText6"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="time" />
                </TableRow>
            </TableLayout>
        </TableRow>
    </TableLayout>
</ScrollView>

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

使用layout_weight进行横向View分发时,请在layout_width="0dip""fill_parent"设置"wrap_content"而不是Viewlayout_weight属性。

见:

Android Layout Weight

android:layout_weight beginner's question

相关问题