我正在尝试在左侧实现两行,浮动(右)TextView将有一个数字。这是listview项目布局。
____
___________________________ | |
___________________________ |____|
所以内容就像是
LINE ONE CAN SOMETIMES BE LONG £2000.00
line two
然而,£2000.00(更大的文字大小)要么与下面的代码示例重叠,要么使用android:layout_toRightOf="@+id/row1"
它基本上位于row1旁边,如果row1很长,有时会进入下一行。它应该总是在一行。
有人可以帮忙吗?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="6dp" >
<TextView
android:id="@+id/row1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
<TextView
android:id="@+id/rightcol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="#cc0000"
android:textSize="22dp" />
<TextView
android:id="@+id/row2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/row1" />
</RelativeLayout>
这样右列文本与row1重叠
感谢您查看
答案 0 :(得分:4)
android:layout_weight
对于实现所需的布局非常有用(请参阅this)。您可以使用android:layout_width="wrap_content"
作为右侧文本视图,而不是50dp。其他TextView将调整以填充剩余空间。您可以使用android:singleLine="true"
来限制TextView,以便它们不会换行。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<TextView
android:layout_width="50dp"
android:layout_height="50dp"/>
</LinearLayout>
如果您使用RelativeLayout进行设置,则应该可以正常工作。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="6dp" >
<TextView
android:id="@+id/row1"
android:text="This text can be very, very long"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/rightcol"
android:textStyle="bold" />
<TextView
android:id="@+id/rightcol"
android:text="$2000000000000.00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="#cc0000"
android:textSize="22dp" />
<TextView
android:id="@+id/row2"
android:text="Second line of text"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/rightcol"
android:layout_below="@+id/row1" />
</RelativeLayout>