无法使两个视图均等占据屏幕

Unable to make two views to occupy the screen equally

我正在使用以下代码创建一个包含文本视图和微调器的 table 布局。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">

    <TableRow>

        <TextView
            android:id="@+id/lblListHeader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="20dp"
            android:layout_weight="1"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:text="Form"
            android:singleLine="true"
            android:textColor="#000" />
        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@android:drawable/btn_dropdown"
            android:spinnerMode="dropdown"
            android:entries="@array/action"/>

    </TableRow>
</TableLayout>

问题是文本视图和微调器的宽度不相等。当文本视图的尺寸较大时,微调器的尺寸会变小。我该如何解决这个问题?

将两者的 width 改为零,而不是 wrap_content

android:layout_width="0dp"

当您同时使用 weightwidth 时,width 属性将覆盖 weight

试试这个 -

<TableRow>

    <TextView
        android:id="@+id/lblListHeader"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="Form"
        android:textColor="#000" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@android:drawable/btn_dropdown"
        android:spinnerMode="dropdown" />

</TableRow>

尝试使用重量属性和总重量。