2010-08-20 18 views
15

Ich arbeite gerade an einer Anwendung, die auf Galaxy S basiert. Ich weiß, dass Galaxy S 480 px breit und 800 px groß ist, aber wie viel ist das in DP?Wie wird die Bildschirmauflösung in "DP" angezeigt?

Sagen wir, wenn ich zwei Layout nebeneinander haben will, habe ich sie auf 240 px einstellen. Aber woher weiß ich, welchen Wert ich in der DP-Einheit verwenden soll?

Antwort

14
Die Umwandlung von Dip-Einheiten in Bildschirmpixel ist einfach: Pixel = Dips * (Dichte/160). Auf einem Bildschirm mit 240 dpi würde beispielsweise 1 Dip 1,5 physikalischen Pixeln entsprechen. Es wird dringend empfohlen, Dip-Einheiten zu verwenden, um die Benutzeroberfläche Ihrer Anwendung zu definieren. Auf diese Weise können Sie sicherstellen, dass Ihre Benutzeroberfläche auf verschiedenen Bildschirmen angezeigt wird.

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

[Bearbeiten] ich dies nur verwendet hatte. Die DisplayMetrics.density gibt nur 0,75, 1 und 1,5 zurück. Verwenden Sie stattdessen DisplayMetrics.densityDpi oder die Mathematik ändern pixels = dips * DisplayMetrics.density

+0

Wie habe ich das verpasst! Danke vielmals :) – RobGThai

0

Was habe ich herausgefunden, dass DP ist eine nicht über Auflösung überhaupt, es geht um Bildschirmgröße ist, weil es auf 160dpi Baseline basiert. Ein einfacher Weg, wird zu berechnen sein: ScreenSizeInInches * 160.

In Ihrem Fall:

Breite in Zoll = 480px/(240px/inch) = 2 inches Höhe in Inches = 800px/(240px/inch) = 10/3 inches

Check: sqrt(sqr(2) + sqr(10/3)) ~ = 4 inches die ist die Größe eines Galaxy S.

ist also die Größe in dp (2 * 160) x (10/3 * 160) = 320dp x 533.3dp

Verwandte Themen