- Mit wenigen Handgriffen kann man dafür sorgen, dass sich Bilder in Android selbst skalieren und dabei stets das Größenverhältnis von Breite und Höhe beibehalten.
Mit wenigen Handgriffen kann man dafür sorgen, dass sich Bilder in Android selbst skalieren und dabei stets das Größenverhältnis von Breite und Höhe beibehalten.
Beim UI-Design einer App ist es grundsätzlich sinnvoll, sein Layout mit der größtmöglichen Flexibilität zu gestalten. Das bedeutet: Nach Möglichkeit auf fixe dpi Werte verzichten und mit Abhängigkeiten und RelativeLayouts
bzw. LinearLayouts
arbeiten. Im besten Falle soll das erarbeitete Design schließlich auf allen Geräten – ganz egal wie groß der Bildschirm ist – möglichst gleich aussehen.
Ein UI-Element, bei dem sich dieses Vorhaben gelegentlich etwas schwerer gestaltet, ist der ImageView
. Bei Geräten die knapp über der Untergrenze zum nächst kleineren Device-Format (small, normal, large erxtra-large) liegen, kann es vorkommen, dass Android das angezeigte Bild nicht so skaliert wie gewünscht und sich dadurch alle angrenzenden UI-Elemente verschieben, oder das Bild unschön gezerrt oder gestreckt wird.
Mit wenigen Handgriffen kann man jedoch dafür sorgen, dass sich der ImageView
automatisch so skaliert, dass das Größenverhältnis erhalten bleibt:
Mit den Attributen
android:layout_above
und
android:layout_below
sorgt man dafür, dass der ImageView garantiert immer an der gewünschten Stelle im layout platziert wird. Bei einer horizontalen Ausrichtung des Layouts nimmt man stattdessen
android:layout_toLeftOf
bzw
android:layout_toRightOf
.
Das Attribut
android:scaleType
sorgt dafür, dass sich der ImageView korrekt skaliert und sein Bildformat beibehält.
Damit das auch wirklich funktioniert sollte man darauf achten, für die Zuweisung einer Grafikresource nur
setImageDrawable()
bzw.
android:src
zu benutzen.
Hier erfahren Sie mehr: