Попробуйте этот код .....

я есть макет, который содержит некоторые текстовые поля и фоновое изображение, которое отображается в верхней части моей деятельности. Мне бы хотелось, чтобы фоновое изображение масштабировалось, чтобы обернуть содержимое (не заботясь о соотношении сторон). Однако изображение больше содержимого, поэтому макет вместо этого оборачивает фоновое изображение. Вот мой оригинальный код:

<RelativeLayout 
    android:layout_width="fill_parent"
    android:id="@+id/HeaderList" 
    android:layout_gravity="top"
    android:layout_height="wrap_content" 
    android:background="@drawable/header">
    <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content" 
        android:id="@+id/NameText"
        android:text="Jhn Doe" 
        android:textColor="#FFFFFF"
        android:textSize="30sp" 
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" 
        android:paddingLeft="4dp"
        android:paddingTop="4dp" 
    />
    <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content" 
        android:textColor="#FFFFFF"
        android:layout_alignParentLeft="true"
        android:id="@+id/HoursText"
        android:text="170 hours" 
        android:textSize="23sp"
        android:layout_below="@+id/NameText" 
        android:paddingLeft="4dp" 
    />
</RelativeLayout>

После поиска некоторых других вопросов, я нашел эти два:

Как обернуть представления контента, а не рисовать фон?

Масштабировать Drawable или фоновое изображение?

Основываясь на этом, я создал FrameLayout с ImageView, показывающим фон. К сожалению, я до сих пор не могу заставить его работать. Я хочу, чтобы высота фонового изображения уменьшалась / расширялась с размерами текстовых представлений, но с FrameLayout ImageView соответствует размеру своего родителя, и я не могу найти способ сделать родительский размер подходящим для размер макета текстового представления. Вот мой обновленный код:

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

    <ImageView android:src="@drawable/header"
        android:layout_width="fill_parent" 
        android:scaleType="fitXY"
        android:layout_height="fill_parent" 
        />
    <RelativeLayout 
        android:layout_width="fill_parent"
        android:id="@+id/HeaderList" 
        android:layout_gravity="top"
        android:layout_height="wrap_content"
        >
        <TextView 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content" 
            android:id="@+id/NameText"
            android:text="John Doe" 
            android:textColor="#FFFFFF"
            android:textSize="30sp" 
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true" 
            android:paddingLeft="4dp"
            android:paddingTop="4dp" 
            />
        <TextView 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content" 
            android:textColor="#FFFFFF"
            android:layout_alignParentLeft="true" 
            android:id="@+id/HoursText"
            android:text="170 hours" 
            android:textSize="23sp"
            android:layout_below="@+id/NameText" 
            android:paddingLeft="4dp" 
            />
    </RelativeLayout>
</FrameLayout>

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

Спасибо!

Ответы на вопрос(8)

Ваш ответ на вопрос