Какая разница между типами CENTER_INSIDE и FIT_CENTER?
105 Keith [2012-07-06 02:34:00]
Я не могу сказать разницу между ImageView.ScaleType.CENTER_INSIDE
и ImageView.ScaleType.FIT_CENTER
.
CENTER_INSIDE
Равномерно масштабируйте изображение (поддерживайте пропорции изображения), чтобы обе размеры (ширина и высота) изображения были равны или меньше соответствующего размера представления (минус заполнение).
FIT_CENTER
Вычислите масштаб, который будет поддерживать исходное соотношение сторон src, но также гарантирует, что src полностью помещается внутри dst. По крайней мере одна ось (X или Y) будет точно соответствовать. Результат центрируется внутри dst.
Может ли кто-нибудь осветить разницу между двумя?
android android-imageview scaling imageview scaletype
3 ответа
104 Решение BlackHatSamurai [2012-07-06 02:47:00]
FIT_CENTER должен убедиться, что источник полностью помещается внутри контейнера, и будет горизонтальной или вертикальной осью.
CENTER_INSIDE собирается центрировать изображение внутри контейнера, вместо того, чтобы точно совместить ребра.
поэтому, если у вас квадратная коробка размером 10 "x 10" и изображение размером 8 "x8", CENTER_INSIDE будет находиться в середине окна с 2 "между исходным и целевым контейнерами.
С помощью FIT_CENTER это же изображение из приведенного выше примера будет соответствовать всему контейнеру, поскольку стороны равны, и одна ось будет соответствовать назначению. С FIT_CENTER, если у вас есть поле размером 5 "x 10" и изображение размером 5 "x 7", изображение будет пропорционально масштабировано, поэтому одна из осей будет соответствовать, но все равно будет центрировать изображение внутри место назначения.
Они похожи, но один делается так, чтобы источник заполнил цель как можно больше, а другой просто центрировал изображение внутри места назначения.
Надежда, которая немного разъясняет
182 Pang [2013-10-10 05:38:00]
Здесь представлена графическая иллюстрация разницы между CENTER_INSIDE
и FIT_CENTER
.
Используемое изображение (100 × 100):
Маленький вид изображения (75 × 50):
CENTER_INSIDE:
FIT_CENTER:
Оба CENTER_INSIDE
и FIT_CENTER
уменьшают изображение.
Вид большого изображения (300 × 200):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
не увеличивает изображение, FIT_CENTER
делает.
Робот Android воспроизводится или модифицируется с работы, созданной и совместно используемой Google, и используется в соответствии с условиями, описанными в лицензии на лицензирование Creative Commons 3.0.
33 Zarokka [2013-06-18 16:46:00]
Они одинаковы, если изображение больше контейнера. Если изображение меньше, то контейнер CENTER_INSIDE НЕ будет масштабировать изображение, пока FIT_CENTER будет.