如何使用包装的文本视图获取并排文本视图

问题描述 投票:0回答:2

我有一个带有自定义适配器的listview,其中我有3个textviews,两个彼此相邻,一个低于其他。我遇到的问题是,当第一个textview延伸时,它将其他textview推离屏幕。

我无法成功地将其发挥作用,这是一个正在发生的事情的例子:

alt text

正如您所看到的,当第一个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>
android textview textwrapping
2个回答
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" />

希望这就是你的意思


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>
© www.soinside.com 2019 - 2024. All rights reserved.