Масштабирование изображений в режиме просмотра изображений с фиксированной шириной

1

У меня есть несколько изображений, которые я lazyload в ListActivity. Теперь дело в том, что изображения имеют разные пропорции.

Я хотел бы, чтобы все изображения отображались с одинаковой шириной, установленной в xml (чтобы вписаться в мой макет), занимая при этом столько пространства, сколько необходимо. Есть ли способ сделать это в xml?

Благодарю!

Теги:
android-layout

1 ответ

3

Я думаю, вы хотите android:scaleType="fitCenter"

Из документов sdk в http://developer.android.com/reference/android/graphics/Matrix.ScaleToFit.html#CENTER:

Вычислите масштаб, который будет поддерживать исходное соотношение сторон src, но также гарантирует, что src полностью помещается внутри dst. По крайней мере одна ось (X или Y) будет точно соответствовать. Результат центрирован внутри dst.

Итак, я думаю, что если вы установите ширину в изображении, но установите высоту в wrap_content, вы должны получить то, что хотите, с помощью scaleType fitCenter.

  • 1
    Не работает для меня Таким образом, изображения сохраняют свои пропорции, но высота (где я установил wrap_content) остается такой же маленькой, как и исходная высота растрового изображения. Так что картина не масштабируется ...
  • 1
    Хммм, тогда, я думаю, вам нужно будет установить wview_content для изображений в обоих измерениях, а затем изменить ленивую загрузку, чтобы выполнить масштабирование для вас. Поскольку вы знаете желаемую ширину, просто используйте растровое изображение apis, чтобы масштабировать высоту в соответствии с соотношением между целевой шириной и шириной исходного изображения.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню