Макет типа "" - PullRequest
       3

Макет типа ""

1 голос
/ 30 ноября 2011

Не уверен, что из этого названия вопроса ясно, что я имею в виду, поэтому вот подробности.

Я хотел бы добиться простой компоновки с двумя элементами управления TextView, выровненными горизонтально один за другим.Первый TextView, вероятно, может содержать несколько строк текста, второй TextView будет содержать только 1 число.

Второй TextView всегда должен иметь значение widht столько, сколько требуется для отображения его содержимого, выровненного по правому краю, а высота должна быть равнана высоту первого TextView, чтобы я мог показывать данные по центру.Первый TextView должен занимать оставшееся пространство (для ширины) и растягиваться по мере необходимости.

Пример 1:

  ---------------------------------
  |Small Text.                 123|
  ---------------------------------

Пример 2:

  ---------------------------------
  |Long Text starts here ....     |
  |... continues here .......  123|
  |... and finishes here ....     |
  ---------------------------------

LinearLayout с горизонтальной ориентациейздесь нехорошо, так как он размещает элементы управления слева направо.Хотя в этом случае мне нужно сначала установить wrap_content для второго TextView, а затем fill_parent для первого TextView.

Играя с RelativeLayout, я также не смог получить описанный макет.

Я не мог использовать подход layout_weight здесь, так какЯ не знаю длины данных во втором TextView: в одном случае это может быть 1 символ, в другом - 8 символов.Таким образом, в 1-символьном случае у меня будет неиспользуемое пространство.

Итак, у меня есть шанс построить такой макет?

Ответы [ 2 ]

4 голосов
/ 30 ноября 2011

Схема, подобная следующей, должна помочь вам:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="false"
        android:text="TextView" />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:gravity="center_vertical|right"
        android:text="TextView" />
</LinearLayout>
0 голосов
/ 30 ноября 2011

здесь будет полезно использовать свойства minWidth и maxWidth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...