Ich kann den Unterschied zwischen ImageView.ScaleType.CENTER_INSIDE
und nicht erkennen ImageView.ScaleType.FIT_CENTER
.
CENTER_INSIDE
Skalieren Sie das Bild gleichmäßig (behalten Sie das Seitenverhältnis des Bildes bei), sodass beide Abmessungen (Breite und Höhe) des Bildes gleich oder kleiner als die entsprechende Abmessung der Ansicht sind (minus Auffüllung).
FIT_CENTER
Berechnen Sie eine Skala, die das ursprüngliche src-Seitenverhältnis beibehält, aber auch sicherstellt, dass src vollständig in dst passt. Mindestens eine Achse (X oder Y) passt genau. Das Ergebnis ist innerhalb von dst zentriert.
Kann jemand den Unterschied zwischen den beiden beleuchten?
center
/centerInside
usw. das Bild nicht zentrieren, soweit ich das beurteilen kann. Zumindest für den Fall, dass das Bild kleiner als die Ansicht ist. Ich könnte falsch liegen.FIT_CENTER
das so istAt least one axis (X or Y) will fit exactly
. Bedeutet das nicht, dass beide dasselbe tun?CENTER_INSIDE
wird es verkleinert und somit unnötig kompliziert. Die anderen Antworten erklären dies richtig und viel prägnanter.Hier ist eine grafische Darstellung des Unterschieds zwischen
CENTER_INSIDE
undFIT_CENTER
.Verwendetes Bild (100 × 100):
Kleine Bildansicht (75 × 50):
CENTER_INSIDE:
FIT_CENTER:
Beides
CENTER_INSIDE
undFIT_CENTER
verkleinern das Bild.Große Bildansicht (300 × 200):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
vergrößert das Bild nicht,FIT_CENTER
tut.Der Android-Roboter wird aus von Google erstellten und freigegebenen Arbeiten reproduziert oder modifiziert und gemäß den in der Creative Commons 3.0 Attribution License beschriebenen Bedingungen verwendet.
quelle
Sie sind gleich, wenn das Bild größer als der Container ist. Wenn das Bild kleiner ist, vergrößert der Container CENTER_INSIDE das Bild NICHT, während FIT_CENTER dies tut.
quelle
Das gleiche gilt, wenn das Bild größer als der Container ist. Wenn das Bild kleiner ist, vergrößert der Container CENTER_INSIDE das Bild NICHT, während FIT_CENTER dies tut.
quelle