Ich muss das Layout der Android-Widgets mit dip / dp (in Java-Dateien) codieren. Zur Laufzeit, wenn ich codiere
int pixel=this.getWindowManager().getDefaultDisplay().getWidth()
;
Dies gibt die Bildschirmbreite in Pixel (px) zurück. Um dies in dp umzuwandeln, habe ich Folgendes codiert:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
Dies scheint keine korrekte Antwort zu liefern . Ich habe den Emulator von WVGA800 mit einer Bildschirmauflösung von 480 x 800 erstellt. Als der Emulator ausgeführt wurde und der Code die Werte von Pixel und dp drucken ließ, betrug er in beiden Fällen 320. Dieser Emulator hat eine Auflösung von 240 dpi und einen Skalierungsfaktor von 0,75.