Как создать макет, как это? - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть горизонтальная LinearLayout, внутри которой у меня есть 2 TextViews. Допустим, ширина LinearLayout составляет 320 пикселей. Если TextViews не вписываются в LinearLayout (они вместе шире, чем 320px), я хочу как-то добиться этого:

  • Текстовое представление секунда полностью отображается и находится на правом краю LinearLayout
  • Текстовое представление first отображается только частично, видны только первые x символов

Что я имею в виду:

[TextView1 | TextView2 _________________________] // это нормально

[VeryVeryL ... | VeryVeryLongTextView2] // VeryVeryLongTextView1 не полностью виден

Ответы [ 2 ]

0 голосов
/ 18 февраля 2010

Чтобы получить эффект, который вы запрашиваете в комментариях выше, вы можете изменить решение Mayra на что-то вроде:

<LinearLayout ...>
<TextView android:layout_width="wrap_content"
            android:maxWidth="20dp"
            android:layout_height="wrap_content"/>
<TextView android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

Я думаю, что это сработает. Как ни странно, параметр maxWidth присутствует только в парах классов представления, но, к счастью, TextView является одним из них. Можно подумать, что это будет полезно в большем количестве случаев, поэтому я не уверен, почему он не доступен только в параметрах вида по умолчанию.

0 голосов
/ 18 февраля 2010

Укажите конкретную ширину для вашего первого textView (т. Е. 20 dp ... обратите внимание, что лучше использовать dp, чем жестко закодированные пиксели, чтобы иметь дело с несколькими разрешениями устройств), присвойте вашему 2nd TextView вес 1. говорит ему занять оставшееся место. Например:

<LinearLayout ...>
    <TextView android:layout_width="20dp"
                android:layout_height="wrap_content"/>
    <TextView android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"/>
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...