пытается выровнять изображение по правому краю и текст по левому краю (приложение для Android) - PullRequest
0 голосов
/ 26 января 2012

Это макет, который я использую:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="30dip"
>

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

    <RelativeLayout
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent" 
        android:gravity="fill_horizontal" 
        >

        <TextView android:id="@+id/poi_name" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:textStyle="bold" 
            android:layout_alignParentLeft="true"
        />

        <ImageView android:id="@+id/internet" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/internet"
            android:adjustViewBounds="true"
            android:maxHeight="20sp"
        />

    </RelativeLayout>
    ...
  </LinearLayout>
</ScrollView>

Однако текст выглядит выровненным по левому краю, но изображение появляется на той же высоте, что и текст (как и ожидалось), но горизонтально по центруэкран.Почему он не выровнен по праву?Я пытался с разными комбинациями атрибута android:gravity на RelativeLayout безуспешно.

Атрибут maxHeight изображения устанавливается с использованием единиц измерения 'sp', потому что я хочу, чтобы изображение было пропорциональноТекст это сопровождает.Это правильно?

Спасибо за ваш отзыв.

ОБНОВЛЕНИЕ:

Благодаря ответу @ danh32 мне удалось решить эту проблему с помощью LinearLayout вместо RelativeLayout.Но просто из любопытства: если кто-то знает, в чём была проблема с RelativeLayout моего примера, я буду благодарен.

1 Ответ

1 голос
/ 26 января 2012

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

    <TextView android:id="@+id/poi_name" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:textStyle="bold" 
        android:layout_alignParentLeft="true"
        android:drawableRight="@drawable/internet"
    />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...