Java [Android] Welche Drawable Ressource nutzt mein Handy?

T

Tersus

Gast
Guten Tag,
je nach Auflösung und Pixeldichte wird entweder der ldpi, mdpi, hdpi, xhdpi, xxhdpi, ... verwendet.

xhdpi wird laut Android Guide bei 320dpi verwendet.

Mein Testgerät "Galaxy S3" hat eine Diagonale von 4,8" und 720 * 1280 Auflösung, also ca. 306 ppi.

Wieso wird hier der xhdpi Ordner angesprochen?
 
Probier mal das auf deinem gerät aus:
Code:
getResources().getDisplayMetrics().densityDpi
http://developer.android.com/reference/android/util/DisplayMetrics.html#densityDpi

bei Rückgabe von DENISTY_HIGH müsste hdpi genutzt werden bei DENSITY_XHIGH enstsprechend xhdpi.
Dass bei dir der XHDPI Ordner genommen wird, liegt wohl daran, dass 306 näher an 320pi ist als an den 240ppi für hdpi.
Hier http://developer.android.com/guide/practices/screens_support.html#range ist ja mit "~" auch "wird etwa bei XXXppi verwendet" gemeint.

Eventuell kann auch der Hersteller festlegen, was bei densityDpi zurückgegeben wird.
 
Zuletzt bearbeitet:
Google gibt ja auch nicht genau an dass nur Geräte mit 320 dpi xhdpi Resourcen benutzen dürfen und xxhdpi 480dpi. Das würde ja aus dem Grund schon nicht funktionieren, weil es ja auch Geräte (wie dein S3) fibt, die irgendwo dazwischen liegen.
Daher sind die 320 dpi nur als Richtwert gesehen.

Genaueres findest du auf der Entwickler Seite von Google:

http://developer.android.com/guide/practices/screens_support.html

Da gibt es auch ein Bild dazu, was dein Fall recht gut beschreibt ;)
 
Zurück
Oben