поместив элемент вправо в линейном макете в Android - PullRequest
4 голосов
/ 16 февраля 2012

Я хочу разместить изображение справа от вида.Для этого я пытаюсь использовать что-то вроде

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

...some other elements

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

    <ImageView
        android:id="@+id/imageIcon"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"            
        android:layout_gravity="right"
        android:src="@drawable/image_icon" >
    </ImageView>
</LinearLayout>

...
</RelativeLayout>

Выше, кажется, поместить изображение где-то в центре.Как убедиться, что изображение выровнено по правому краю независимо от того, находимся ли мы в портретном или альбомном режиме?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 16 февраля 2012

Следующее, кажется, работает. Две перемены 1. используйте ориентацию = вертикаль как предложено Zortkun 2. Используйте wrap_content в layout_width.

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

    <ImageView
        android:id="@+id/settingsIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:src="@drawable/settings_icon" >
    </ImageView>
</LinearLayout>
0 голосов
/ 16 февраля 2012

Вам не нужен Linearlayout, если вы используете только один вид внутри Linearlayout.

В любом случае здесь,

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

//...some other elements

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right">

    <ImageView
        android:id="@+id/imageIcon"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"            
        android:layout_gravity="right"
        android:src="@drawable/image_icon" >
    </ImageView>
</LinearLayout>

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

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

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