Skalierungsfaktor für xxhdpi Android?

76

laut http://developer.android.com/training/multiscreen/screendensities.html

Die folgenden Skalierungsfaktoren werden erwähnt

xhdpi: 2,0 hdpi: 1,5 mdpi: 1,0 (Grundlinie) ldpi: 0,75

Ich habe mich gefragt, wie hoch der Skalierungsfaktor für xxhdpi sein würde.

Muhammad Ahmed AbuTalib
quelle
Unterstützt es überhaupt xxhdpi? Nicht wie Google etwas aus den Dokumenten zu verpassen
Musefan
@musefan, android sdk erstellt seit Anfang dieses Jahres mindestens automatisch einen Ordner namens drawable-xxhdpi. Auch S4, HTC ONE und Xperia Z sind xxhdpi. Ich habe gesehen, wie sie Ressourcen aus dem xxhdpi-Eimer genommen haben. Sie sind weit über dem xhdpi (240) -Niveau
Muhammad Ahmed AbuTalib
siehe meine Antwort auch hier
mehrdad khosravi

Antworten:

280

In android.util.DisplayMetrics können Sie sehen, dass der Skalierungsfaktor 0,00625 beträgt :

/**
 * Scaling factor to convert a density in DPI units to the density scale.
 * @hide
 */
public static final float DENSITY_DEFAULT_SCALE = 1.0f / DENSITY_DEFAULT;

Wobei DENSITY_DEFAULT 160 ist -> Skalierungsfaktor = 1,0f / 160 = 0,00625.

sizeScale = DENSITY_DEFAULT_SCALE * DENSITY_DPI

Davon:

  • ldpi = 0,00625 * 120 -> 0,75
  • mdpi = 0,00625 * 160 -> 1,0
  • hdpi = 0,00625 * 240 -> 1,5
  • xhdpi = 0,00625 * 320 -> 2,0
  • xxhdpi = 0,00625 * 480 -> 3,0
  • xxxhdpi = 0,00625 * 640 -> 4,0

Nicht gerade eine Raketenwissenschaft, aber ich hoffe, das wird für jemanden nützlich sein :)

Ozbek
quelle
3
und tvdpi -> 1.3312501 (zum Beispiel: plus.google.com/105051985738280261832/posts/6eWwQvFGLV8 )
Vitaly Zinchenko
2
Ich frage mich, ob das noch stimmt. Auf der Google Device Metrics-Website werden sowohl die 3.5- als auch die 4.0-Skalierung für xxxhdpi aufgeführt: design.google.com/devices . Ich bin nicht sicher, wie ich diese Inkonsistenz beheben kann ...
Lilbyrdie
4
@ Lilbyrdie: Es hält immer noch. Siehe den Kommentar für DENSITY_560inandroid.util.DisplayMetrics
ozbek
1
@ozbek: Auch wenn die Geräte mit xxxhdpi gekennzeichnet sind, sind sie es intern nicht? Das bedeutet auch, dass alle Grafiken für sie skaliert sind? Das klingt nicht sehr effizient. Ich sehe auch, dass es vier weitere Zwischendichten gibt ... Auf jeden Fall danke für die Info. Genau das habe ich gesucht.
Lilbyrdie
2
@ozbek Wirklich? Das ist verrückt. Vielleicht sollten wir uns nicht wundern. Es ist so tief in der Dokumentation vergraben, dass selbst die Google-Entwickler es wahrscheinlich nicht wissen :)
the_new_mr
6

Wenn Sie sich Metriken und Gitter ansehen, werden Sie feststellen, dass xxhdpi 480 dpi beträgt, was dem Dreifachen der Basislinie entspricht (mdpi @ 1.0). Mit anderen Worten beträgt der Skalierungsfaktor für xxhdpi 3,0

Squonk
quelle