как масштабировать изображение в ImageView так, чтобы оно «соответствовало» - PullRequest
14 голосов
/ 28 мая 2011

Я хочу масштабировать изображение в ImageView следующим образом. ImageView имеет некоторые размеры Width (W) и Height (H). Изображение, которое я помещаю в представление изображения, может быть меньше или больше, чем WxH. Я хочу, чтобы масштабирование сохранялось при сохранении соотношения сторон до Заполнение Ш x В.

Кажется, что ближе всего к тому, что я хочу, это Android: scaleType = "centerInside", но я вижу, что если изображение меньше, чем WxH, оно поместит версию этого изображения в небольшом масштабе центр ImageView (как написано в документации), но я хочу, чтобы он масштабировался так, чтобы он «соответствовал», показывая все изображение и растягивая его до максимально возможного размера контейнера, ничего не обрезая. Другими словами, сохраняйте растягивающие пропорции, пока ширина или высота не столкнутся с краем контейнера (ImageView).

Это кажется очевидной вещью, которую я хочу сделать, но я не могу заставить ее работать таким образом !!!

1 Ответ

15 голосов
/ 28 мая 2011

Из документов Android ...

публичный статический финал Matrix.ScaleToFit CENTER

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

Атрибут XML для этого ...

android:scaleType="fitCenter"
...