Wie werden PNG-Dateien definiert als Drawable basierend auf der Auflösung des Android-Handy Größe verändert?

StackOverflow https://stackoverflow.com/questions/3890018

Frage

ich eine PNG-Datei, die 32x32 Pixel. Ich benutze 8 davon als Drawables in Folge für meine Anwendung. Diese Drawables sind nicht in den hdpi, MDPI oder LDPI Ordner. Ich habe festgestellt, dass, wenn eine der drei Standardgröße Emulatoren beginnen, die Bildansicht mit allen 8 Drawables sehen so ziemlich das gleiche.

Ich nehme zur Kenntnis, dass der LDPI Emulator Ich verwende (QVGA) mit einer Auflösung von 240x320 hat. 8 x 32 = 256, so da ich alle meine Drawables sehen kann (und Raum dazwischen) Ich bin etwas Wetten ihre Größe verändert sich.

Ich habe die Unterstützung mehrerer Bildschirme Dokument auf der Android-Entwickler-Seite lesen , aber ich verstehe immer noch nicht, was tatsächlich geschieht. Könnten Sie Ihre eigenen Worte um zu erklären, was die Größe meines Drawables geschieht und wie das SDK kennt sie automatisch ändern?

War es hilfreich?

Lösung

Natürlich - das System passt die Größe automatisch Ihre Bilder aus dem ziehbar Verzeichnis entsprechen dem DPI des Gerätes, wenn Sie nicht Ihre eigenen definieren. Also in der Tat das ‚ziehbar‘ Verzeichnis ist so ziemlich das gleiche wie das ‚ziehbar-MDPI‘ Verzeichnis, und weil Sie nicht über die LDPI und hdpi Versionen haben das System definierten automatisch baut sie aus Ihrer MDPI Ressource. Siehe (1) hier: http://developer.android.com/guide/ Praktiken / screens_support.html # support - "Pre-Skalierung von Ressourcen (wie Bild-Assets)"

Natürlich wird Ihre Icons sehen irgendwie ok auf LDPI Geräte aber hässlich auf hdpi Geräte. Das ist, weil die MDPI Symbole skaliert höhere Dimensionen entsprechen, effektiv in weniger Informationen pro Pixel führt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top