2012-04-07 13 views
0

Ich habe alle Android-Dokumente über die Handhabung mehrerer Bildschirmgrößen durchgegangen, aber ich habe immer noch keine Antwort auf diese Frage finden oder wie Sie damit umgehen.Android: Umgang mit Bildschirmen, die die gleiche dpi-Ebene haben, aber unterschiedlich

Wenn es zwei Telefone, die die gleiche dpi Ebene (wie zB die beide hdpi) habe ich eine Ressource für sie zur Verfügung stellen kann und die Layout-Parameter als solche eingestellt:

<ImageView 
android:id="@+id/icon" 
android:layout_width="94dp" 
android:layout_height="94dp" 
> 

Das „Symbol“ in dieser Die Instanz ist groß genug, sodass sie in jedem Fall auf dieses Layout skaliert wird. In einer idealen Welt würde ich annehmen, dass das Symbol auf allen HDPI-Geräten die exakt gleiche Größe haben würde, aber wenn ich es auf einem LG G2x und einem HTC Sensation getestet habe, ist das Bild auf dem Sensation kleiner. Also verwendet Android immer nur einen Faktor von 1,5x bei der Berechnung der Größe des HDPI-Bildes? Gibt es etwas, was ich tun kann, um sicherzustellen, dass die Größe auf allen hdpi-Geräten identisch ist? Vielen Dank.

+0

Welche Lösung schlagen Sie jetzt vor? – user3819810

Antwort

0

Die Antwort war, dass das System ein Standard-Multiplikator für jede dpi Ebene (1,5x für hdpi zum Beispiel) verwenden wird. Um das zu umgehen, habe ich einfach die .xdpi und .ydpi Werte von DisplayMetrics benutzt und meine Berechnungen von diesen realen Werten abgeleitet.

0

Normalerweise verwenden wir normalerweise wrap_content, wenn wir so etwas tun wollen. Versuchen Sie es einmal mit layout_width = "wrap_content", layout_height = "wrap_content". So, dass ANdroid SDK aussehen wird.

+0

Das ist nicht immer eine Option, wie in meinem Fall, weil zwischen den Symbolen ein bestimmter Abstand benötigt wird. Wrap_content ist nur hilfreich, wenn ich auch Centering usw. verwenden kann. Ich brauche immer noch einen Platz zwischen den Symbolen. Irgendwelche andere Hilfe? – user1319155