2010-12-13 21 views
2

Ich versuche ein Kachelspiel zu machen, das 6 Kacheln in jeder Reihe hat. Die Kacheln haben eine feste Größe, 80x80 und passen auf einen 480x854 Bildschirm (seit 6 * 80 = 480). Ich versuche sicherzustellen, dass meine Anwendung für andere Dichten/Größen funktioniert, aber die Logik ist für mich verwirrend. Wie kann ich sicher sein, dass ich andere Dichten richtig handhabe? Ich habe http://developer.android.com/guide/practices/screens_support.html vollständig gelesen, bin aber immer noch verwirrt. Selbst wenn ich Bilder für verschiedene Dichten skaliere, kann ich dann nicht auf das Problem stoßen, dass der Bildschirm nicht genug Pixel hat, um meine "6 Kacheln hintereinander" zu unterstützen? Nehmen wir als Beispiel an, dass das Gerät 320x480, aber auch eine hohe Dichte hat. Es würde keine Skalierung erfolgen und mein 480px würde nicht auf den 320px Bildschirm passen. Ich versuche nicht für Pixel zu kodieren, sehe aber keine andere Option. Jede Eingabe wird geschätzt.Android Image Sizing

Antwort

0

Ich habe entschieden, dass ich nicht denke, dass es eine beabsichtigte Möglichkeit gibt, dieses Problem zu lösen. Ich werde mich darauf verlassen müssen, dass es derzeit nur wenige Bildschirmgrößen gibt und für die gängigen Größen "am besten passt".

0

Angenommen, Sie verwenden ImageViews, Sie müssen nur sicherstellen, dass die Bilder sind groß genug, dass sie auf größeren Bildschirmen nicht verschwommen und dann den richtigen Maßstab für jede Art ImageView:

http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType

Android sollte den Rest für Sie erledigen.

+0

Also lassen Sie mich einen einfachen Fall beschreiben: Ich habe einen 480x854 Bildschirm und entwerfe ein 480x854px Bild für den Bildschirm. Nehmen wir an, dass der Bildschirm auch eine hohe Dichte hat und dass ich meine Bilder im Ordner mit hoher Dichte habe. Jetzt wird meine Anwendung auf einem Bildschirm mit hoher Dichte geöffnet, der 480x800 ist. Willst du damit sagen, dass es richtig herunterskaliert wird? Ich dachte, es skaliert nur in Bezug auf die Dichte. – skaz

+0

Außerdem verwende ich kein ImageView. Ich mache ein Spiel, also zeichne ich die Bitmap direkt auf die Leinwand. – skaz