当文本变长时,两个textview与换行内容相互掩盖

时间:2015-03-22 01:03:21

标签: android android-layout textview

我在LinearLayout(水平方向)中有两个TextView。我需要的是,我的第一个TextView总是有宽度将它的内容包装在一行中,而第二个动态加载的TextView使用剩余的空间来显示它的内容,如果它变成多行则无关紧要。 / p>

当我使用下面的代码时,当内容较少时它显示完美但当第二个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>
你帮我解决了我的问题吗? 提前谢谢

3 个答案:

答案 0 :(得分:2)

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

<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>

答案 1 :(得分:0)

尝试将最大宽度设置为第二个textview。您可以在xml文件中执行此操作。只需添加: 机器人:maxWidth =&#34; 100dp&#34;

答案 2 :(得分:0)

尝试使用如下的权重属性:

&#13;
&#13;
    <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>
&#13;
&#13;
&#13;