Não sei dizer a diferença entre ImageView.ScaleType.CENTER_INSIDE
e ImageView.ScaleType.FIT_CENTER
.
CENTER_INSIDE
Escale a imagem uniformemente (mantenha a proporção da imagem) para que ambas as dimensões (largura e altura) da imagem sejam iguais ou menores que a dimensão correspondente da vista (menos preenchimento).
FIT_CENTER
Calcule uma escala que manterá a proporção original do src, mas também garantirá que o src se ajuste totalmente ao dst. Pelo menos um eixo (X ou Y) caberá exatamente. O resultado é centralizado no dst.
Alguém pode esclarecer a diferença entre os dois?
center
/centerInside
, etc., na verdade, não centraliza a imagem, até onde eu sei. Pelo menos no caso em que a imagem é menor que a vista. Eu poderia estar errado.FIT_CENTER
afirma issoAt least one axis (X or Y) will fit exactly
. Isso não implica que ambos façam a mesma coisa?CENTER_INSIDE
, diminui a escala e, assim, torna-se desnecessariamente complicado. As outras respostas explicam isso corretamente e de maneira muito mais sucinta.Aqui está uma ilustração gráfica da diferença entre
CENTER_INSIDE
eFIT_CENTER
.Imagem usada (100 × 100):
Visualização de imagem pequena (75 × 50):
CENTER_INSIDE:
FIT_CENTER:
Ambos
CENTER_INSIDE
eFIT_CENTER
encolher a imagem.Visualização de imagem grande (300 × 200):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
não aumenta a imagem,FIT_CENTER
aumenta.O robô Android é reproduzido ou modificado a partir de um trabalho criado e compartilhado pelo Google e usado de acordo com os termos descritos na Licença de Atribuição do Creative Commons 3.0.
fonte
Eles são os mesmos se a imagem for maior que o contêiner. Se a imagem for menor, o contêiner CENTER_INSIDE NÃO aumentará a imagem enquanto FIT_CENTER.
fonte
o mesmo se a imagem for maior que o contêiner. Se a imagem for menor, o contêiner CENTER_INSIDE NÃO aumentará a imagem enquanto FIT_CENTER.
fonte