Обрезать крайний левый TextView только при расположении двух TextView рядом друг с другом - PullRequest
0 голосов
/ 29 декабря 2011

Это мой первый вопрос, поскольку я нахожусь в тупике с (еще одним) вопросом, который должен быть простым, но не компоновочным.Я пытаюсь расположить два TextView по горизонтали, скажем, Title и Author, так что:

Заголовок выровнен по левому краю Автор выровнен по правому краю Автор оборачивает содержимое, расширяется по мере необходимости и никогда не усекаетсяЗаголовок заполняет оставшееся пространство и при необходимости в конце эллипсируется.

Итак, у нас есть что-то вроде: |Краткое название А. Писатель ||Это очень долго ... Работа Блоги ||Другой заголовок, который ... A. Longer-Name |

Я не могу найти никакой комбинации настроек для достижения этой цели.Я знаю, что проблема в том, что макеты выполняются слева направо, и поэтому заголовок не знает, сколько у него места, потому что автор еще не обработан.Но в то же время такая очевидная схема ДОЛЖНА быть достижимой?

Любая помощь с благодарностью получена.

1 Ответ

0 голосов
/ 30 декабря 2011

Разве вы не сможете решить это с помощью RelativeLayout?Примерно так:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/title_textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/author_textview"
        android:ellipsize="end"
        android:singleLine="true"/>

    <TextView
        android:id="@+id/author_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"/>

</RelativeLayout>

Это довольно просто.Самое интересное, что у вас есть текстовое представление по правому краю автора, оберните его шириной, текстовое представление по левому краю заголовка заполнит его, но добавьте в качестве ограничения, что последний должен остаться слева от первого.

...