我在linearLayout(水平)中有3个TextView,当最后一个textview太大或没有空间时,它与父级匹配,如下图所示:
我想要的是,如果textview达到linearlayout的宽度,那么textview应该移动到“Property”textView下面。 (下一行)
看看它应该如何:
这是我的XML代码片段:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="Property"
android:id="@+id/txtPropertyType" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="/ 127 m"
android:id="@+id/txtArea"
android:layout_marginLeft="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="/ 3 roomsssssssssdddd"
android:singleLine="false"
android:id="@+id/txtNumRoom"
android:layout_marginLeft="5dp" />
</LinearLayout>
提前致谢x)
答案 0 :(得分:0)
只需添加android:singleLine =&#34; true&#34;在每个文本视图上。你的问题是你的TextView正在多行上传播。
答案 1 :(得分:0)
修改你的xml并在LinearLayout下面添加另一个TextView:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="Property"
android:id="@+id/txtPropertyType" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="/ 127 m"
android:id="@+id/txtArea"
android:layout_marginLeft="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance"
android:text="/ 3 roomsssssssssdddd"
android:singleLine="false"
android:id="@+id/txtNumRoom"
android:layout_marginLeft="5dp" />
</LinearLayout>
<TextView
android:visibility="gone"
android:layout_below="@+id/linearLayout"
android:id="@+id/long_room"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="dfgdfdfgddfgdfgdd"/>
现在,您有两个选择:
选项1:检查房间号textview的长度。如果它超过12个(你必须找到所有字母最宽的数字 - 例如w
),那么请txtNumRoom
GONE的可见性和long_room
GONE的可见性{1}}可见。
选项2:在呈现和显示之前查找txtNumRoom
的高度。如果此高度大于txtArea
的高度,则表示文本视图已经过多行。同样,在这种情况下,使txtNumRoom
GONE和long_room
的可见性可见。
请参阅this question以了解如何在呈现textview之前以编程方式查找textview的高度。