Макет Вопрос. Как я могу расположить 1 изображение сверху, 1 изображение снизу - PullRequest
4 голосов
/ 10 февраля 2010

У меня есть вертикальная LinearLayout.Я хотел бы расположить 1 ImageView сверху и 1 ImageView внизу этого LinearLayout.Я попытался поместить 'android: gravity = "top"' и 'android: gravity = "bottom" "в каждом из ImageView, но оба ImageView появляются в верхней части LinearLayout.Есть ли способ это исправить?

Спасибо.

   <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent">

   <ImageView
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon"
        android:gravity="top" />

   <ImageView
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon"
        android:gravity="bottom" />
   </LinearLayout>

Ответы [ 2 ]

2 голосов
/ 10 февраля 2010

Самый простой способ сделать это с RelativeLayout. Замените LinearLayout на RelativeLayout и замените первый ImageView на android:layout_alignParentTop="true", а второй на android:layout_alignParentBottom="true".

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

Я согласен с Erich WRT, использующим RelativeLayout. Однако, если вы действительно хотите использовать LinearLayout, вам просто нужно сказать ему «линейно» выравнивать объект по вертикали, а не по горизонтали. У вас там был бит (android:orientation="vertical"), поэтому вы должны иметь возможность отбрасывать гравитацию ... это должно работать:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent">

    <ImageView
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon" />

    <ImageView
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon" />
</LinearLayout>

Если вместо этого вы пытаетесь заставить макет занимать весь экран и иметь одно изображение вверху экрана и одно внизу, вам понадобится что-то более похожее (не проверено):

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:id="@+id/button1"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:src="@drawable/icon" />

    <ImageView
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon" />
</LinearLayout>

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

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