Как получить бок о бок текстовые представления с одним, который оборачивает - PullRequest
0 голосов
/ 27 декабря 2010

У меня есть listview с пользовательским адаптером, в котором у меня есть 3 textview с, два находятся рядом друг с другом, а один ниже других. Проблема, с которой я сталкиваюсь, заключается в том, что когда первый 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>

Ответы [ 2 ]

4 голосов
/ 27 декабря 2010

Я предполагаю, что текстовое представление - это liDate. Вам нужно поместить это перед liName в вашем макете и установить ширину "wrap_content" и выровнять его по правому краю. Затем вы добавляете liName слева от него с шириной "fill_parent" Так бы это выглядело так:

<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 голосов
/ 14 января 2012

Ключ использовал «@ + id /» для первого просмотра текста вместо «@ id /»

...