В чем разница между ImageView.ScaleType.CENTER_INSIDE и FIT_CENTER?

Я не могу сказать разницу между ImageView.ScaleType.CENTER_INSIDE и ImageView.ScaleType. FIT_CENTER.

ImageView.ScaleType.CENTER_INSIDE

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

ImageView.ScaleType. FIT_CENTER

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

Может ли кто-нибудь осветить разницу между ними?

Solutions Collecting From Web of "В чем разница между ImageView.ScaleType.CENTER_INSIDE и FIT_CENTER?"

FIT_CENTER будет следить за тем, чтобы источник полностью входил в контейнер, и горизонтальная или вертикальная ось будет точной.

CENTER_INSIDE собирается центрировать изображение внутри контейнера, а не точно выравнивать края.

Поэтому, если у вас квадратная коробка размером 10 "x 10" и изображение размером 8 "x8", CENTER_INSIDE будет находиться в середине поля с 2 "между исходным и целевым контейнерами.

С помощью FIT_CENTER это же изображение из приведенного выше примера будет соответствовать всему контейнеру, потому что стороны равны, и одна ось будет соответствовать назначению. С FIT_CENTER, если у вас есть поле размером 5 "x 10" и изображение размером 5 "x 7", изображение будет пропорционально масштабировано, поэтому одна из осей будет соответствовать, но будет по-прежнему центрировать изображение внутри место назначения.

Они похожи, но один делается так, чтобы источник заполнил цель как можно больше, а другой просто центрировал изображение внутри места назначения.

Надежда, которая немного разъясняет

Вот графическая иллюстрация разницы между CENTER_INSIDE и FIT_CENTER .


Используемое изображение (100 × 100):

Android_Robot_100.png


Маленький вид изображения (75 × 50):

CENTER_INSIDE:

CENTER_INSIDE для просмотра небольшого изображения

FIT_CENTER:

FIT_CENTER для просмотра небольшого изображения

И CENTER_INSIDE и FIT_CENTER уменьшают изображение.


Большой вид изображения (300 × 200):

CENTER_INSIDE:

CENTER_INSIDE для просмотра больших изображений

FIT_CENTER:

FIT_CENTER для просмотра больших изображений

CENTER_INSIDE не увеличивает изображение, FIT_CENTER делает.


Робот Android воспроизводится или модифицируется с работы, созданной и совместно используемой Google, и используется в соответствии с условиями, описанными в лицензии Creative Commons 3.0 Attribution.

Они одинаковы, если изображение больше контейнера. Если изображение меньше, то контейнер CENTER_INSIDE НЕ будет масштабировать изображение, пока FIT_CENTER будет.