wrap_content 宽度的元素占据父元素的全宽

Element with wrap_content width takes full width of parent

我有以下布局XML。不确定为什么第三个 TextView 在布局中根本不可见。有人可以指出原因吗?

布局的相关部分XML -

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_toLeftOf="@+id/layout0"
    android:layout_toStartOf="@+id/layout0"
    android:layout_toRightOf="@+id/imageMain1"
    android:layout_toEndOf="@+id/imageMain1"
    android:gravity="center_vertical"
    android:orientation="vertical"
    android:paddingBottom="6dp"
    android:paddingTop="6dp">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:paddingBottom="2dp"
        android:text="@string/dummy_long"
        android:textColor="?android:textColorPrimary"
        android:textSize="16sp"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:layout_marginEnd="8dp"
            android:maxLines="1"
            android:text="@string/dummy_paragraph"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:text="@string/dummy"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

    </LinearLayout>

</LinearLayout>

更新

最终使用了这个解决方案 - 最终使用了这个 -

为每个 TextView 添加 WeightSum="2" 到您的 LinearLayoutlayout_weight="1",如

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:layout_marginEnd="8dp"
            android:maxLines="1"
            android:text="@string/dummy_paragraph"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:text="@string/dummy"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

    </LinearLayout>

您可以使用@rajan 回答中提到的layout_weight,但分布不均。例如:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_weight="0.7"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:layout_marginEnd="8dp"
            android:maxLines="1"
            android:text="@string/dummy_paragraph"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_weight="0.3"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:text="@string/dummy"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

 </LinearLayout>

或将 RelativeLayout 用作 parent 并使用对齐方式。例如:

<RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="8dp"
        android:layout_marginEnd="8dp"
        android:maxLines="1"
        android:text="@string/dummy_paragraph"
        android:textColor="?android:attr/textColorTertiary"
        android:textSize="14sp"
        android:layout_toLeftOf="@+id/textView3"
        android:layout_alignParentLeft="true" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:text="@string/dummy"
        android:textColor="?android:attr/textColorTertiary"
        android:textSize="14sp"
        android:layout_alignParentRight="true" />

</RelativeLayout>