Android относительное масштабирование и выравнивание макета - PullRequest
4 голосов
/ 07 февраля 2012

Мне нужно спроектировать макет Andorid, который приведен ниже, однако я не могу правильно позиционировать.

enter image description here

Вот типы видов деталей и мои ограничения:

  • A: просмотр изображения, фиксированная ширина, фиксированная высота, по левому краю
  • B: просмотр текста, автоматически масштабируемая ширина, фиксированная высота
  • C: просмотр текста, автоматически масштабируемая ширина, фиксированная высота
  • D: просмотр текста, автоматически масштабируемая ширина, фиксированная высота
  • E: просмотр текста, автоматически масштабируемая ширина, фиксированная высота
  • F: просмотр изображения, фиксированная ширина, фиксированная высота, по правому краю

Я пробовал относительную компоновку, но не могу обработать самый правый вид (т. Е. F). Так какой должна быть правильная разметка XML для этого макета?

Ответы [ 2 ]

7 голосов
/ 07 февраля 2012

Довольно просто. Попробуйте что-то вроде этого (я оставил другие вещи, такие как высота и ширина, чтобы сэкономить место):

    <RelativeLayout>

        <ImageView
            android:id="@+id/A"
            android:layout_alignParentLeft="true" />

        <ImageView
            android:id="@+id/F"
            android:layout_alignParentRight="true" />

        <LinearLayout
            android:id="@+id/container"
            android:layout_toRightOf="@+id/A"
            android:layout_toLeftOf="@+id/F"
            android:orientation="horizontal"
            android:weightSum="3" >

            <TextView
                android:id="@+id/B"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/C"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/D"
                android:layout_weight="1" />
        </LinearLayout>

        <TextView
            android:id="@+id/E"
            android:layout_toRightOf="@+id/A"
            android:layout_toLeftOf="@+id/F"
            android:layout_below="@+id/container" />

    </RelativeLayout>
0 голосов
/ 07 февраля 2012

Размещение некоторого кода, который вы пробовали, поможет нам понять, что вы пробовали до сих пор. Но почему у вас не работает относительный макет? Вы пробовали что-то вроде

<ImageView
android:id="@+id/imageViewF"
android:layout_alightParentRight="true" />

Попробуйте прочитать о Относительная компоновка , если вы еще не сделали

...