Я хотел бы создать подобный сообщениям пользовательский интерфейс. Я создаю представление списка с двумя типами строк: слева и справа.
Каждая строка содержит один TextView. Левый используется для отображения сообщения отправителя, а правый - для отображения сообщения текущего пользователя.
Я хотел бы, чтобы TextView в правой строке занимал определенный процент экрана, выравнивал текст по левому краю, но динамически увеличивался с содержимым.
Чтобы уточнить, вот изображение того, чего я хотел бы достичь: http://dl.dropbox.com/u/2482095/wanted.png
Синие строки - это «левые» строки, черные - «правые».
Чтобы добиться этого, я использовал различные комбинации LinearLayout и RelativeLayout с пустым представлением, размещенным слева, и желаемым textView, размещенным справа. Что я получаю, я что-то вроде этого, а это не то, что я хочу: http://dl.dropbox.com/u/2482095/notWanted1.png (текст всегда начинается с точной точки)
Мне также удалось установить гравитацию: вправо, что выравнивает текст вправо, что тоже не то, что я хотел.
Есть ли способ заставить TextView расти вместе с его содержимым?
[править] Мой xml-файл выглядит примерно так:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<View android:id="@+id/emptyView"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView android:id="@+id/messageBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>