Часто запитують, ніколи не відповідають (принаймні не відтворюваним чином).
У мене є перегляд зображення із зображенням, яке менше, ніж вигляд. Я хочу масштабувати зображення до ширини екрана та відрегулювати висоту 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"?