Я не могу сказать разницу между ImageView.ScaleType.CENTER_INSIDE и ImageView.ScaleType. FIT_CENTER.
ImageView.ScaleType.CENTER_INSIDE
Равномерно масштабируйте изображение (поддерживайте пропорции изображения), чтобы обе размеры (ширина и высота) изображения были равны или меньше соответствующего размера представления (минус заполнение).
ImageView.ScaleType. FIT_CENTER
Вычислите масштаб, который будет поддерживать исходное соотношение сторон src, но также гарантирует, что src полностью помещается внутри dst. По крайней мере одна ось (X или Y) будет точно соответствовать. Результат центрирован внутри dst.
Может ли кто-нибудь осветить разницу между ними?
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
.
И CENTER_INSIDE
и FIT_CENTER
уменьшают изображение.
CENTER_INSIDE
не увеличивает изображение, FIT_CENTER
делает.
Робот Android воспроизводится или модифицируется с работы, созданной и совместно используемой Google, и используется в соответствии с условиями, описанными в лицензии Creative Commons 3.0 Attribution.
Они одинаковы, если изображение больше контейнера. Если изображение меньше, то контейнер CENTER_INSIDE НЕ будет масштабировать изображение, пока FIT_CENTER будет.