Часто запитують, ніколи не відповідають (принаймні не відтворюваним чином).
У мене є перегляд зображення із зображенням, яке менше, ніж вигляд. Я хочу масштабувати зображення до ширини екрана та відрегулювати висоту ImageView, щоб відображати пропорційно правильну висоту зображення.
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
Це призводить до того, що зображення центрируется у вихідному розмірі (менше ширини екрана) з полями збоку. Не добре.
Тож я додав
android:adjustViewBounds="true"
Той самий ефект, нічого хорошого. я додав
android:scaleType="centerInside"
Той самий ефект, нічого хорошого. Я змінився centerInside
на fitCenter
. Той самий ефект, нічого хорошого. Я змінився centerInside
на centerCrop
.
android:scaleType="centerCrop"
Нарешті, зображення масштабоване до ширини екрана, але обрізане зверху та знизу! Тож я змінився centerCrop
на fitXY
.
android:scaleType="fitXY"
Тепер зображення масштабується до ширини екрана, але не масштабується по осі y, в результаті чого зображення спотворюється .
Видалення android:adjustViewBounds="true"
не має ефекту. Додавання android:layout_gravity
, як пропонується в інших місцях, знову не дає ефекту.
Я пробував інші комбінації - безрезультатно. Отже, будь ласка, хтось знає:
Як налаштувати XML ImageView для заповнення ширини екрана, масштабування меншого зображення, щоб заповнити весь вигляд, відображаючи зображення з його співвідношенням сторін без спотворень або обрізання?
EDIT: Я також спробував встановити довільну числову висоту. Це впливає лише на centerCrop
налаштування. Це спотворить зображення вертикально відповідно до висоти огляду.
android:scaleType="fitCenter"
?