Масштабировать RelativeLayout с помощью ImageView и подписи - PullRequest
2 голосов
/ 20 сентября 2011

У меня есть RelativeLayout с ImageView и заголовок, который перекрывает изображение Этот макет центрирован в другом RelativeLayout.

ImageView должен уменьшать масштаб, если необходимо, но не масштабировать. Использование ScaleType.CENTER_INSIDE, кажется, делает именно это.

Кажется, работает, если вокруг изображения достаточно места (изображение 1, FWVGA) В противном случае ImageView расширяется и TextView вместе с ним (изображение 2, WVGA).

Я бы ожидал, что ImageView будет уменьшаться, сохраняя пропорции изображения

FWVGA

WVGA

Вот мой макет: -

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF333333"
android:padding="5dip">
    <RelativeLayout
    android:layout_height="wrap_content"
        android:id="@+id/relativeLayout1"
        android:layout_centerInParent="true"
    android:layout_width="wrap_content">
    <ImageView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/ex"
        android:scaleType="centerInside"></ImageView>
    <TextView
            android:background="#AAFFFFFF"
        android:textColor="#FF333333"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:text="Caption"
        android:layout_alignBottom="@id/imageView"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_alignLeft="@id/imageView"
        android:layout_alignRight="@id/imageView"
        android:gravity="center"
        android:layout_width="wrap_content"></TextView>
</RelativeLayout>
</RelativeLayout>

1 Ответ

0 голосов
/ 17 июля 2017

Вы можете попробовать android:scaleType="fitCenter", для уменьшения масштаба, которое соответствует изображению src.

...