Unterstützung verschiedener Bildschirme (Bilder)/welche größe müssen die Bilder haben?

  • Antworten:6
Fabian K.
  • Forum-Beiträge: 13

15.08.2015, 22:51:15 via Website

Hey meine Frage steht eigentlich schon oben.
Ich möchte Bilder für unterschiedliche Bildschirmgrößen implementieren.
Ich denke das ich die Bilder in den verschiedenen Ordnern für hdpi etc speichern muss ,weis jedoch nicht welche pixel-größe diese haben sollen ?!
Liebe Grüße Fabi :)

Antworten
Gelöschter Account
  • Forum-Beiträge: 438

16.08.2015, 05:30:22 via Website

Tja, da gibt es keine einfache Antwort, da die absoluten Auflösungen der Geräte variieren.

Mit Lollipop kommen endlich VectorDrawables, die ohne Qualitätsverlust beliebig skalieren. Das wird bisher meines Wissens aber nicht von der Compatibility Bibliothek unterstützt, so dass ich auf eigene TTF Fonts für Icons und AndroidSVG - einen SVG Parser und -renderer - setze. Damit brauche ich mich nur um extrem wenige skalierte Grafiken kümmern (z.B. die Icons für den App-Drawer). Dieser Ansatz trägt aber nicht für alle Arten von App. (Bei schnellen Actionspielen wäre das zB einfach zu langsam, dort werden sogar die einzelnen Grafiken für Sprites etc. zu einem Texture Atlas zusammengerechnet, aber das ist hier nicht weiter relevant.)

Eine ganz gute Darstellung von eigenen Icon Fonts findest du hier, im wesentlichen baut man (recht komfortabel) aus Schwarz/Weiße SVG Dateien einen eigenen Font zusammen, dessen Buchstaben man dann als Beschriftung von Buttons hernehmen kann. In meiner aktuellen App habe ich so z.B. die Symbole für die Buttons im Spiel (Glühbirne, Mülleimer, Undo, Redo, ...) erstellt, was den Vorteil hat, dass sie genauso groß sind wie die Zahlen auf den anderen Buttons (gleiche Fontgröße) und verlustfrei skalieren.

AndroidSVG nutze ich, um ein SVG als Hintergrundbild des Startmenüs zu skalieren. Das mache ich aber auch genau nur einmal beim allerersten App-Start und lege dann ein PNG in exakt der richtigen Größe ab. Es ist schneller und batteriefreundlicher ist, das PNG zu laden, als jedesmal das SVG zu rendern (was Geschwindigkeitsmäßig aber schon hinhauen würde). Dies Vorgehen hat sich auch bereits in einem (mittlerweile nicht mehr aktiven) Projekt bewährt.

HTH
D. Zielke

Aktuelles Entwicklungsprojekt: (thinking) Sudoku Dojo Free (lightbulb)
Ich freue mich über Tester/innen.

Fabian K.

Antworten
Sven R.
  • Forum-Beiträge: 1.904

16.08.2015, 07:58:42 via App

Die ersten beiden Tools auf dieser Seite https://romannurik.github.io/AndroidAssetStudio/index.html skalieren für den jeweiligen Anwendungsfall die Icons richtig. Launcher Icons, Notification Icons, Toolbar/ActionBar Icons und andere wichtige Icons, deren Style und Maße sind in den Material Design Guides festgelegt: z. B. https://www.google.com/design/spec/style/icons.html
Unten bei Touch Target size https://www.google.com/design/spec/layout/metrics-keylines.html

Nimm die "Grundgröße" für mdpi und skalier dann laut dieser Liste http://developer.android.com/training/multiscreen/screendensities.html#TaskProvideAltBmp.

— geändert am 16.08.2015, 08:20:06

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Fabian K.

Antworten
Fabian K.
  • Forum-Beiträge: 13

16.08.2015, 09:41:43 via Website

Ok, Danke!
Und nur zum Verständnis: Bei Bildern benute ich @drawable und bei Buttons @midmap ?!
Und wenn ich das Bild z.B. In der Breite ausfüllend haben möchte, muss ich dann rumprobieren welche Auflösung des Bildes
genügt oder kann das Bild auch größer sein/ gibt es dafür eine Vorgefertigte Tabelle? Ich finde dafür nichts richtiges...

Antworten
Gelöschter Account
  • Forum-Beiträge: 438

16.08.2015, 10:18:44 via Website

Wg Mipmaps siehe hier - das ist mE nach nicht auf Icons beschränkt.

Aktuelles Entwicklungsprojekt: (thinking) Sudoku Dojo Free (lightbulb)
Ich freue mich über Tester/innen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 438

16.08.2015, 10:23:08 via Website

Ach - und wg. der Bildgröße hast Du völlige Freiheit - ich habe z.B. ein festes Seitenverhältnis für mein Hintergrundbild, das auch nicht verändert werden soll und habe deshalb klare Skalierungsregeln aufgestellt, die festlegen, was bei abweichenden Seitenverhältnissen vom Bild weggeschnitten wird.
Genauso gut kannst Du aber auch Letter- oder Pillarboxing machen (also schwarze Ränder anfügen), usw.

Aktuelles Entwicklungsprojekt: (thinking) Sudoku Dojo Free (lightbulb)
Ich freue mich über Tester/innen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

16.08.2015, 13:16:33 via App

Sind mipmaps nicht nur für das appdrawer Icon vorgesehen?

Antworten