dp-Angaben werden nicht richtig im Emulator umgesetzt

  • Hallo,


    ich beginne gerade mit der Programmierung von Android-Apps. Von Anfang an möchte ich gleich darauf achten, die Richtlinien von developer.android.com umzusetzen.
    Deshalb verwende ich nur "fill_parent", "wrap_content" oder dp-Angaben, damit meine Apps auf jedem Display gleich aussehen.
    Aber irgendwie klappt das nicht bei dem Emulator. Ich habe mir für alle 3 Arten (ldpi, mdpi, hdpi) ein Device erstellt, aber nur auf meinem HTC Desire sieht es so aus, wie es soll.
    Bei ldpi und mdpi ist das Layout zu lang, bei hdpi ist es zu kurz. Laut den Empfehlungen von developer.android.com sollte jedes Android-Device die dp-Angaben im Verhältnis zur Standard-DPI-Zahl 160 umrechnen.
    DPI ist für mich das Verhältnis von Auflösung zu physikalischer Größe des Bildschirms.


    Hier ist das Layout, das ich meine:



    Und hier die manifest.xml:



    Ich würde mich freuen, wenn mir jemand sagen kann, wo mein Denkfehler liegt, weil ich von Anfang an alles richtig machen will.

  • Hallo,


    ich bin es wieder. Ich habe jetzt einen anderen Weg gefunden, damit das Layout immer paßt und zwar mit "layout:weight".


    Trotzdem würde ich gerne wissen, warum das mit den dp-Angaben nicht klappt. Die sind doch dafür da, damit auf jedem Android-Gerät das entsprechende Element den gleichen physikalischen Platz einnimmt.
    Wenn ein Android-Gerät weiß, welche Auflösung und dpi es hat, dürfte es die Elemente doch anpassen können. Erst an die dpi und dann an die Auflösung. Es kann ja größere Displays mit einem gleichen dpi-Wert geben.
    Oder übersehe ich was bei meinen Überlegungen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!