2016-04-26 20 views
0

Ich habe eine horizontale LinearLayout mit zwei Tasten mit Text im Inneren. Die LinearLayout 's und die Tasten layout_height ist wrap_content.Kinderansichten mit gleicher Höhe

Der Text einer der beiden Schaltflächen nimmt zwei Zeilen, im Gegensatz zu den anderen, die eine Zeile dauert.

Also am Ende hat eine der Tasten eine größere Höhe als die andere, was ich nicht will.

Ich weiß, wie programmgesteuert zu lösen. Der Grund, warum ich diese Frage stelle, ist zu wissen, ob ich das durch xml lösen kann.

Eine mögliche Lösung ist, für die Schaltfläche, deren Text eine Zeile, setzen

layout_height="match_parent" 

und es funktioniert gut.

Aber das Problem hier ist, dass ich im Allgemeinen nicht weiß, welcher Knopf die größte Höhe einnehmen wird.

Im Wesentlichen was ich tun möchte ist: eine LinearLayout mit Ansichten innerhalb Ich möchte die Höhe aller untergeordneten Ansichten gleich der Höhe der Ansicht, die, wenn der Inhalt hat die maximale Höhe eingewickelt hat .

Und die Frage ist, ob dies durch XML möglich ist?

Ein Beispiel XML. Auch habe ich vergessen hinzuzufügen, dass ich bereits 0DP in den Breiten habe.

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/some_string" /> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/some_other_string" /> 

</LinearLayout> 
+0

Zum einen setzen, die bearbeitet vorgeschlagen: sorry wurde automatisch abgelehnt, weil ich eine nachfolgende bearbeitet. Wenn Sie es erneut posten können, werde ich es akzeptieren. – Abomin

+0

Bitte fügen Sie Ihr Layout xml – USKMobility

+0

Obwohl die Frage allgemeiner ist, werde ich ein Beispiel hinzufügen. – Abomin

Antwort

1

Ich denke, was Sie android:baselineAligned="false" ist suchen, wird dies zu vermeiden, dass der Text auf der gleichen Grundlinie sind und die Tasten werden auf der gleichen y-Position auf dem Bildschirm starten.

hier ohne android:baselineAligned="false": without android:baselineAligned="false"

Und hier mit: with android:baselineAligned="false"

Allerdings, wenn Sie wollen auch, dass beide Tasten Größe versuchen, dieses Layout Beispiel gleich sind:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:baselineAligned="false"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="aaaaa"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="bbbbbbb bbbbbbbb bbbbbbbb bbbbbbbbbbbb bbbbbb"/> 

</LinearLayout> 

Das wird aussehen so: enter image description here

+0

Also können wir wrap_content für parent und match_parent für die Kinder haben? Seltsam, aber nett. Vielen Dank. – Abomin

+0

Ja, aus der Perspektive des Kindes wird es der Elterngröße entsprechen – rekire

0

dieses Ding Verwenden Sie wiegen Sum und Gewicht Layout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:weightSum="100" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="10" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="Button 1" /> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="Button 2" /> 
    </LinearLayout> 

    </LinearLayout> 
Verwandte Themen