Часто спрашивается, никогда не отвечает (по крайней мере, не воспроизводимым образом).Размер изображения для Android ImageView уменьшает изображение до ширины с гибкой высотой без обрезки или искажения
У меня есть изображение с изображением меньше чем вид. Я хочу масштабировать изображение по ширине экрана и регулировать высоту 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"
Теперь изображение масштабируется по ширине экрана, но не масштабируется по оси у, в результате чего искажено изображение.
Удаление android:adjustViewBounds="true"
не имеет эффекта. Добавление android:layout_gravity
, как было предложено в другом месте, снова не влияет.
Я пробовал другие комбинации - безрезультатно. Итак, пожалуйста, кто-нибудь знает:
Как настроить XML ImageView для заполнения ширины экрана, масштабировать меньшее изображение, чтобы заполнить весь вид, отображая изображение с его форматным соотношением без искажений или кадрирование?
EDIT: Я также попытался установить произвольную числовую высоту. Это влияет только на настройку centerCrop
. Он будет искажать изображение по вертикали в соответствии с высотой обзора.
Вы пробовали 'андроида: scaleType = "fitCenter"'? – MCeley
@MCeley у вас есть? (спойлер: он не работает.) – BrainSlugs83
@ BrainSlugs83 У меня есть и все работает для меня. Кроме того, был задан вопрос о том, что просил автор. Нет необходимости в ловкости, особенно через семь месяцев после ее публикации. – MCeley