No puedo decir la diferencia entre ImageView.ScaleType.CENTER_INSIDE
y ImageView.ScaleType.FIT_CENTER
.
CENTER_INSIDE
Escale la imagen uniformemente (mantenga la relación de aspecto de la imagen) de modo que ambas dimensiones (ancho y alto) de la imagen sean iguales o menores que la dimensión correspondiente de la vista (menos el relleno).
FIT_CENTER
Calcule una escala que mantenga la relación de aspecto src original, pero también garantizará que src se ajuste completamente dentro de dst. Al menos un eje (X o Y) se ajustará exactamente. El resultado se centra dentro de dst.
¿Alguien puede iluminar la diferencia entre los dos?
center
/centerInside
, etc. en realidad no centran la imagen, por lo que puedo decir. Al menos en el caso cuando la imagen es más pequeña que la vista. Podría estar equivocado.FIT_CENTER
diceAt least one axis (X or Y) will fit exactly
. ¿No implica esto que ambos hacen lo mismo?CENTER_INSIDE
reduce y, por lo tanto, también se vuelve innecesariamente complicada. Las otras respuestas explican esto correctamente y mucho más sucintamente.Aquí hay una ilustración gráfica de la diferencia entre
CENTER_INSIDE
yFIT_CENTER
.Imagen utilizada (100 × 100):
Vista de imagen pequeña (75 × 50):
CENTER_INSIDE:
FIT_CENTER:
Ambos
CENTER_INSIDE
yFIT_CENTER
encoger la imagen.Vista de imagen grande (300 × 200):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
no amplía la imagen, loFIT_CENTER
hace.El robot Android se reproduce o modifica a partir del trabajo creado y compartido por Google y se utiliza de acuerdo con los términos descritos en la Licencia de atribución Creative Commons 3.0.
fuente
Son iguales si la imagen es más grande que el contenedor. Si la imagen es más pequeña, el contenedor CENTER_INSIDE NO escalará la imagen hacia arriba mientras que FIT_CENTER lo hará.
fuente
lo mismo si la imagen es más grande que el contenedor. Si la imagen es más pequeña, el contenedor CENTER_INSIDE NO escalará la imagen hacia arriba mientras que FIT_CENTER lo hará.
fuente