Kombinieren von wrap_content auf Parent und fill_parent auf Child

Lesezeit: 2 Minuten

Kombinieren von wrap content auf Parent und fill parent auf Child
nob

Es scheint ein großes Problem zu sein, zwei oder mehr Elemente eines linearen Layouts auf die gleiche Höhe zu setzen.

Ich möchte vier Knöpfe hintereinander auf die gleiche Höhe setzen.

android:layout_height=”wrap_content” tut es im Moment, aber wenn der Text auf einem der Buttons länger als eine Zeile ist, wird dieser Button vergrößert und damit größer als die anderen. Aufgrund unterschiedlicher Lokalisierungen weiß ich nicht, wann und welcher Button eine zweite Zeile haben darf.

Also meine Idee ist, zu setze das übergeordnete linearlayout auf android:layout_height=”wrap_content” und alle (!) untergeordneten Höhen auf android:layout_height=”fill_parent”.

Dies funktioniert (alle Tasten haben die gleiche Größe), aber ich bin mir nicht sicher, ob dies andere Probleme verursacht? Weil die Eltern ihre Größe vom Kind bekommen und umgekehrt.

  • Ich hatte genau die gleiche Frage, vielen Dank, dass Sie sie gestellt haben, Sir 🙂

    – Boris Russev

    16. November ’11 um 12:01

  • Bin ich der einzige bei dem das nicht funktioniert?

    – Bitcoin Cash – ADA-Enthusiast

    28. März ’16 um 22:01

Theoretisch sollte das, was Sie beschreiben, nicht funktionieren (“Weil der Elternteil seine Größe vom Kind erhält und umgekehrt”). Wir haben es jedoch in LinearLayout zum Laufen gebracht, weil es ein sehr häufiger Anwendungsfall war. Ich habe vor kurzem eine ähnliche Unterstützung für FrameLayout hinzugefügt (diese Funktion sollte Teil von Honeycomb sein.) Was Sie tun, ist daher absolut gültig und wird problemlos funktionieren.

  • Selbst wenn ich akzeptiere, dass es funktioniert, bin ich immer noch verwirrt, warum es funktioniert. Es ist ein bisschen seltsam wegen der rekursiven Natur (Eltern fragt Kind und Kind fragt zurück). Gibt es also irgendwo eine aktuelle Dokumentation darüber, wie der Layoutprozess in diesem Fall funktioniert? Insbesondere wählen die Eltern die Größe des größten Kindes. Daher das Ergebnis aller Kinder mit der gleichen Größe. Ist das dokumentiert?

    – Ramcrys

    9. September ’13 um 13:18


  • @ramcrys Es könnte hilfreich sein, sich daran zu erinnern, dass das Kind nie nach der Größe der Eltern “nachfragt” – es wird immer eine gegeben: Die Eltern messen die Kinder und übergeben die verfügbare Größe (Pixel) mit einem Qualifizierer (nicht spezifiziert, höchstens genau).

    – ataulm

    3. August ’15 um 15:01

  • das scheint nicht zu sein wrap_content sehr stark. Ich habe zwei Knöpfe nebeneinander in einem LinearLayout. Sie sind größer und haben eine Körpergröße von match_parent als mit wrap_content. EDIT: äh, LinearLayout macht auch spaß damit baseLineAligned

    – Sam

    29. September ’15 um 11:06


Das macht keinen Sinn 🙁

Warum verwendest du nicht android:singleLine="true" und ein ellipsode?

.

238910cookie-checkKombinieren von wrap_content auf Parent und fill_parent auf Child

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy