Как я могу выровнять вертикальный центр изображения в линейном макете - PullRequest
9 голосов
/ 22 января 2010

У меня есть следующий макет, который представляет собой 1 значок слева и 2 просмотра текста (стопка друг над другом) справа. Я бы хотел, чтобы текст1 располагался вертикально по центру на панели, и когда я делаю текст2 видимым. Подскажите, пожалуйста, как я могу это сделать?

<RelativeLayout android:id="@+id/panel"
        android:layout_width="fill_parent"
        android:layout_height="?android:attr/listPreferredItemHeight">
    <ImageView
        android:id="@+id/icon1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="center_vertical"/>
    <TextView android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon1"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_gravity="center_vertical"/>
    <TextView android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon1"
        android:layout_below="@id/text1"
        android:textAppearance="?android:attr/textAppearanceSmall"/>
    </RelativeLayout>

Ответы [ 2 ]

15 голосов
/ 22 января 2010

Все, что вам нужно сделать, это в первом примере заменить android:gravity в ImageView на android:layout_gravity. Вот и все:)

9 голосов
/ 22 января 2010

Я бы изменил его на один относительный макет только с тремя видами внутри. И вы можете использовать android:layout_centerHorizontal, android:layout_centerVertical, чтобы выровнять вещи.

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