当文本变长时,两个带有换行内容的文本视图会互相遮盖

two textview with wrap content mask each other when text become longer

我在 LinearLayout(水平方向)中有两个 TextView。我需要的是,我的第一个 TextView 总是有宽度将它的内容包装在一行中,而动态加载的第二个 TextView 使用 space 的其余部分来显示它的内容,它是否变得无关紧要多行。

当我使用下面的代码时,当内容较少时它显示完美但是当第二个 TextView 的内容变长时,它会屏蔽第一个 TextView :-(

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

                <TextView
                    android:id="@+id/itemdescription"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:gravity="right"
                    android:padding="5dp"
                    android:textSize="18sp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:gravity="right|center_vertical"
                    android:padding="5dp"
                    android:text="توضیحات:"
                    android:textSize="18sp" />

            </LinearLayout>

你能帮我解决我的问题吗? 提前致谢

尝试为您的第二个文本视图设置最大宽度。您可以在 xml 文件中执行此操作。只需添加: android:maxWidth="100dp"

尝试像这样使用权重属性:

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right" >

        <TextView
           android:id="@+id/itemdescription"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0"
            android:text=":FIELD" />
    </LinearLayout>

利用权重。为每个文本视图赋予相同的权重并在它们之间留出小间距:

<LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:weightSum="2"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/itemdescription"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:padding="5dp"
                    android:textSize="18sp" />

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:padding="5dp"
                    android:text="توضیحات:"
                    android:textSize="18sp" />

            </LinearLayout>