У меня квадратное изображение (хотя эта проблема относится и к прямоугольным изображениям). Я хочу отображать изображение как можно большего размера, растягивая их при необходимости, чтобы заполнить их родителей, сохраняя при этом соотношение сторон. Изображение меньше, чем ImageView. Проблема в том, что я не могу растянуть изображение и «сопоставить» высоту и ширину ImageView.
Это мой XML-файл макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<ImageView android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:layout_marginTop="10dp"/>
<TextView android:id="@+id/name"
android:layout_below="@id/image"
android:layout_alignLeft="@id/image"
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18dp"/>
<TextView android:id="@+id/name2"
android:layout_below="@id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="14dp"/>
</RelativeLayout>
Я использовал много комбинаций fill_parent
, wrap_content
с несколькими типами шкалы: fitCenter
, fitStart
, fitEnd
, centerInside
, и все они рисуют изображения с правильным соотношением сторон, но ни один из них на самом деле не масштабирует изображения и сам ImageView, что приводит либо к тому, что TextView полностью выталкивается за пределы экрана, либо к пустым местам внутри ImageView, либо изображение не масштабируется, либо изображение обрезается.
Я не могу придумать правильную комбинацию для этого.