我有一个带有自定义适配器的listview
,其中我有3个textview
,两个相邻,一个低于其他。我遇到的问题是,当第一个textview
扩展时,它会将另一个textview
推离屏幕。
我无法成功地将其发挥作用,这是一个正在发生的事情的例子:
正如您所看到的,当第一个textview
变得太长时,它会将其他文本推离屏幕。我希望如此包装但日期textview
也显示出来。它也应该在水平视图中起作用。
这是listview
适配器代码:
<RelativeLayout android:id="@+id/vw1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:descendantFocusability="blocksDescendants" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:id="@+id/liName" android:textSize="17sp"
android:textColor="#333" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="left"
android:layout_gravity="left" />
<TextView android:id="@+id/liDate" android:textSize="12sp"
android:textColor="#666" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="right"
android:layout_gravity="right" android:width="60sp" android:layout_toRightOf="@+id/liName" />
<TextView android:id="@+id/liNum" android:textSize="12sp"
android:textColor="#666" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_below="@+id/liName" />
</RelativeLayout>
答案 0 :(得分:4)
我假设正在推送的文本视图是liDate。 您需要将这个放在布局中的liName之前,并将宽度设置为“wrap_content”并将其对齐。然后用“fill_parent”宽度将liName绑定到它的左边 所以它看起来像这样:
<RelativeLayout android:id="@+id/vw1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:descendantFocusability="blocksDescendants" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:id="@+id/liDate" android:textSize="12sp"
android:textColor="#666" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:width="60sp"
android:layout_alignParentRight="true" />
<TextView android:id="@+id/liName" android:textSize="17sp"
android:textColor="#333" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/liDate" />
<TextView android:id="@+id/liNum" android:textSize="12sp"
android:textColor="#666" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_below="@+id/liName" />
希望这就是你的意思
答案 1 :(得分:0)
关键是使用“@ + id /”作为第一个textview而不是“@ id /” 这对我有用:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/listEventTypeText"
android:layout_toLeftOf="@+id/listEventDateText"
android:layout_alignParentLeft="true"
/>
<TextView
android:id="@+id/listEventDateText"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignBaseline="@id/listEventTypeText"
/>
</RelativeLayout>