2016-06-16 18 views
1

Ich habe mehrere Werteordner und dimen.xml-Dateien erstellt, um meine App für verschiedene Bildschirmgrößen zu konfigurieren. Die Vorschau in Android Studio zeigt sie jedoch perfekt. Wenn ich die App auf dem Telefon starte, werden diese Dimensionen nicht wirksam. Das Layout, das im Android Studio-Layout angezeigt wird, und das Layout, das auf dem Telefon angezeigt wird, sind unterschiedlich.Dimensionswerte aus falschem Ordner übernommen

So zum Beispiel auf meinem Nexus 5 die App Dimensionen von Werte-w640dp/dimen.xml aber lesen sollte, liest sie aus Werte/dimen.xml aus irgendeinem Grund.

Was kann ich tun, um es zu lösen?

Hier sind die Screenshots.

Android Studio Vorschau Snapshot (Nexus 5)

enter image description here

Nexus 5 Telefon Screenshot:

enter image description here

+0

Try Werte-sw640dp anstelle von verwenden, um Werte-w640dp http://stackoverflow.com/questions/24579608/android-resource-qualifiers-swdp-vs-wdp –

+0

In meiner Seite, Gor Nexus 5 , UI liest Dimensionen perfekt aus Werten-sw600dp. –

Antwort

1

So dp werden unter Verwendung der folgenden Formel berechnet:

pixels/dp = dpi/160dpi or pixels/dp = density 

Schauen g bei device metrics, hat das Nexus 5 mit einer Dichte von 3 so:

dp = pixels/density 
dp = 1920px/3 = 640dp 
dp = 1080px/3 = 360dp 

Mit Werte-sw600dp wäre es nicht beheben, weil das nicht die tatsächliche kleinste Breite des Bildschirms ist, da es auch 360. So kann Sie sollten Werte-sw300dp verwenden. Seien Sie jedoch gewarnt, dass dies eine sehr große Vielfalt an Geräten abdeckt. values-sw600dp zielt normalerweise auf Tablets ab.

Ich bin auch auf Probleme gestoßen, bei denen die wahre Auflösung des Geräts nicht mit dem übereinstimmt, was der Emulator auch mit dem Nexus 5 erstellt hat. Überprüfen Sie daher den AVD - Bildschirm und stellen Sie sicher, dass die Auflösung der tatsächlichen Auflösung des Geräts entspricht Gerät. Beispiel sollte das Nexus 5 1920x1080 sein und es ist. Wenn dieses Problem jemals auftritt, erstellen Sie den Emulator neu oder versuchen Sie einen anderen vollständig.

enter image description here

+0

Sie meinen Werte-sw300dp? Wie kann ich das Layout für alle wichtigen Bildschirmgrößen gestalten? – user2498079

+0

Ich verwende die App nicht im Emulator. Ich führe es auf dem realen Gerät – user2498079

+0

Ja, Werte-sw300dp, ich habe das korrigiert, danke. Was genau beschäftigt Sie mit Ihrem Layout? Die meisten Standard-Layouts decken Handys ziemlich gut, Leute stoßen nur auf Probleme mit viel Leerraum in Tabletten. Wenn es um die Skalierbarkeit von Komponenten wie Bildern geht, können Sie die Dichte des Geräts als guten Ausgangspunkt für Entscheidungen betrachten. Im Allgemeinen betrifft dies jedoch bestimmte Komponenten eines Layouts, insbesondere Bilder. Die meisten anderen Komponenten werden gut skalieren. –