Konvertierung von px nach dp für Google Nexus 7

8

Ich bin neu in der Entwicklung von Tablet-Anwendungen. Ich habe Google Nexus7 mit Bildschirmauflösung (600 * 960 Dip) Also ich möchte wissen, ist es in der Kategorie mdip fallen? Demnach 1px = 1dp (Grundlinie). Aber wenn ich dem folge, sieht es auf dem Tablet nicht gut aus. Ich erstelle einen separaten Layout-Ordner für nexus7 -sw600dp und erwähne Größen nach mdip, aber es funktioniert nicht. Meine Bilder sehen auch nicht gut aus. Was ich wissen möchte, ist die tatsächliche Conversion-Rate für Google Nexus 7. Brauchen Sie Hilfe.

    
nilkash 08.10.2013, 04:39
quelle

3 Antworten

13

Formel: pixels = dips * (density / 160)

Das Nexus 7 ist 800x1280 mit einer Dichte von 213 px, was bedeutet, dass der Auflösungscode tvdpi ist (was bedeutet, dass Sie einen Ordner namens drawable-tvdpi haben können).

Sie können die verfügbare Bildschirmgröße ohne Fensterdekorationen mit:

messen %Vor%

Auf meinem N7 gibt es 600 dp w, 888 dp h zurück. Nach der obigen Formel ist 888 dp Höhe 1280px - Fensterdekoration.

    
Mike P. 08.10.2013, 04:50
quelle
3

Das Nexus7 ist ein einzigartiges Gerät mit einer etwas seltsamen dpi-Struktur.

Für Nexus 7

%Vor%

Hier ist eine sehr gute Erklärung (von Dianne Hackborn - einem Android Ingenieur bei Google): Dianne Hackborn erklärt die einzigartige Auflösung von das Nexus7

Hinweis: Die App nimmt Bilder aus diesen Ordnern nur dann an, wenn Sie keine höheren Rangfolge-Qualifier angegeben haben. Wenn Sie beispielsweise einen Layout-Ordner wie layout-sw360dp angegeben haben, nimmt die App nur die Bilder aus diesem Ordner, auch wenn Sie separate Layouts wie das oben genannte angegeben haben. Denn in Androiden gibt es eine Rangfolge, in der Sie Layouts geben müssen.

Bildschirmdichte

Häufig als dpi (dots per inch) bezeichnet. Android gruppiert alle tatsächlichen Bildschirmdichten in vier generalisierte Dichten: niedrig (120), mittel (160), hoch (240) und extra hoch (320). Ein Gerät wie Galaxy Nexus hat eine "extra hohe" Bildschirmdichte (genauer gesagt, der dpi-Wert ist auf 320 eingestellt). Das Nexus 7 verwendet "tvdpi" - also 213 dpi.

Dichteunabhängiges Pixel

Wird gemeinhin als dp bezeichnet. Dies ist die virtuelle Pixeleinheit, die beim Anzeigen von Inhalten verwendet wird. Das dichteunabhängige Pixel entspricht einem physischen Pixel auf einem Bildschirm mit 160 dpi. Um dp zu berechnen, verwende die folgende Formel:

%Vor%

oder äquivalent:

%Vor%

Der Grund, warum das Nexus 7 trotz ähnlicher Auflösungen mehr Inhalte als das Galaxy Nexus zeigen kann, ist: Die Auflösung des Nexus 7 ist niedriger als beim Galaxy Nexus .

Galaxy Nexus (320 dpi, 720 Pixel breit)

%Vor%

Nexus 7 (213 dpi, 800 Pixel breit)

%Vor%

Dies bedeutet, dass beim Rendern von Apps auf dem Galaxy Nexus die Breite des Bildschirms tatsächlich 360 dpi beträgt (gerendert mit 720 Pixel). Auf dem Nexus 7 beträgt die Breite des Bildschirms 600 dpi (mit 800 Pixel gerendert).

    
GrIsHu 08.10.2013 05:12
quelle
1

Probieren Sie den folgenden Code aus, geben Sie den Pixelwert für die unten angegebene Methode an, damit erhalten Sie das Ergebnis in dp.

%Vor%     
Pratik Dasa 08.10.2013 05:19
quelle

Tags und Links