1

我已将 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>

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

layout_weight用于水平View分布时,用属性代替layout_width="0dip""fill_parent"设置。"wrap_content"Viewlayout_weight

看:

Android 布局权重

android:layout_weight 初学者的问题

于 2012-11-14T00:16:16.313 回答