1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

android:layout_height="0dip"

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mrwerner, 30.04.2011.

  1. mrwerner, 30.04.2011 #1
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    Hallo,

    Ich habe jetzt einige Layoutbeispiele gesehen wo entweder android:layout_height="0dip" oder android:layout_width="0dip" gesetzt war. Wie wird dieses von Android interpretiert? Gibt es dazu eine Dokumentation. Ich habe in der SDK Referenz nur fill_parent und wrap_content gefunden.

    Hier noch ein Beispiel wo so etwas verwendet wird:
    Layout Tricks: Creating Efficient Layouts | Android Developers
     
  2. swordi, 30.04.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    dabei gibt es ein layout_weight="xx" dann
     
  3. mrwerner, 30.04.2011 #3
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    Hallo,

    Danke für deine Antwort. Allerdings habe ich nicht wirklich verstanden was du meinst. Könntest du das ganze etwas ausführlicher erklären? ;)
     
  4. swordi, 30.04.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja ganz einfach

    ich habe zb 2 buttons. sage einfach jeweils layout_width="0dip" und layout_weight="1"

    dann teilen sie sich den platz genau auf

    hat zb button 1 layout_weight="2" und button2 layout_weight="1"

    dann teilen sie sich den platz 2:1 auf.

    usw
     
  5. mrwerner, 30.04.2011 #5
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    Und wo ist der Unteschied zu "wrap_content"? Was bedetutet android:layout_height="0dip"? Heißt es, dass es so knapp wie möglich aber so groß wie notwendig sein soll? Genau das wäre nämlich das was "wrap_content" macht. Irgendwo muss dieses Verhalten ja dokumentiert sein.
     
  6. TheUsualSuspect, 30.04.2011 #6
    TheUsualSuspect

    TheUsualSuspect Android-Hilfe.de Mitglied

    Beiträge:
    95
    Erhaltene Danke:
    32
    Registriert seit:
    20.05.2010
    Phone:
    HTC Legend
    Probier's doch einfach mit nem Button aus und schau dir an was für Veränderungen du am Button feststellen kannst...

    <Button
    android:id="@+id/btn_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Send" />

    Schau dir das Ergebnis an und danach änderst du den Button mal ab auf:

    <Button
    android:id="@+id/btn_send"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Send" />

    Schau dir das Ergebnis an und frag dich was jetzt anders aussieht als vorher ;)

    Und dann änderst den Button nochmal ab:

    <Button
    android:id="@+id/btn_send"
    android:layout_width="50dip"
    android:layout_height="50dip"
    android:text="Send" />



    Danach sollten dir die Unterschiede eigentlich klar sein.

    Wenn nicht, schau dir das hier mal an: bei 8. Use DIP instead of PX
    ui
    10 Tips for Developing Android Apps | Around the Hill

    Und wenn dir das noch immer nicht hilft, dann machst den Button noch mit px statt dip, legst dir zwei Emulatoren mit unterschiedlicher Auflösung an, und schau dir dann mal die Ergebnisse an.

    Achja, und mach den Button zum Schluss nochmal mit 0dip bei height und width...dann müsstest du feststellen, dass vom Button nicht mehr viel zu sehen ist ;)
     
  7. mrwerner, 01.05.2011 #7
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    Hallo,

    @TheUsualSuspect:
    Danke für deine Antwort. Das alles ist mir schon klar. Ich weiß, was wrap_content und fill_parent macht. Mir ist auch klar was passiert wenn man einen fixen Wert angibt der größer 0 ist. Auch der Unterschied zwischen px und dip ist mir klar. Allerdings wurde immer noch nicht erklärt was passiert wenn ein Layout die Höhe oder Breite von 0 hat und dann Views zu diesem Layout hinzugefügt werden. Ich habe es auch schon ausprobiert. Es ist etwas kleiner als wrap_content. Aber ich würde wissen wie das Verhalten definiert ist.
     
  8. swordi, 01.05.2011 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja wrap_content heißt, dass der button so groß ist, wie sein inhalt

    wenn ich einen button mit dem text "asdfasdfjafjöalsdfjaslkfjasdlkfj" hab ist der wesentlich größer als ein button mit "asdf"

    bei beiden buttons ein layout_weight="1" macht sie gleich breit
     
  9. mrwerner, 01.05.2011 #9
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    Ja schön! Mit layout_weight="1" kann ich einstellen wie sich die Elemente den Platz aufteilen. Das erklärt aber immer noch nicht was android:layout_height="0dip" macht. Streng genommen müsste es ja eine View/Layout mit 0 Höhe ergeben. Das tut es aber nicht. Also was ist das definierte Verhalten für Höhe und Breite 0?
     
  10. swordi, 01.05.2011 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    wenn du layout height="0" hast und kein layout_weight müsste es eine view mit 0 höhe ergeben

    ob das zulässig ist, weiß ich nicht
     
  11. mrwerner, 01.05.2011 #11
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    134
    Erhaltene Danke:
    10
    Registriert seit:
    25.07.2010
    Phone:
    HTC Evo 3D
    OK! Dankeschön!
    Schön bzw. sauber finde ich die ganze Sache nicht, aber ich muss es ja nicht so machen. ;)
     

Diese Seite empfehlen