Das scheint unkompliziert zu sein, aber ich kann nicht herausfinden, wie es geht. Ich habe ein horizontales Layout mit einem EditText und zwei ImageButtons. Ich möchte, dass die ImageButtons eine feste Größe haben und der EditText den verbleibenden Platz im Layout einnimmt. Wie kann dies erreicht werden?
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
<ImageButton
android:src="@drawable/img1"
android:layout_width="50dip"
android:layout_height="50dip">
</ImageButton>
<ImageButton
android:src="@drawable/img2"
android:layout_width="50dip"
android:layout_height="50dip">
</ImageButton>
</LinearLayout>
android
android-layout
ab11
quelle
quelle
Wenn Sie das Layout beibehalten möchten (dh Schaltflächen nach dem Text), verwenden Sie die
layout_weight
Eigenschaft zusammen mitfill_parent
:Wenn Sie das
EditText
'Gewicht' angeben, wird es als letztes herausgefunden und den Tasten Vorrang eingeräumt. Spielen Sie mit den verschiedenen layout_weights und sehen Sie, wie viel Spaß Sie haben können!quelle
In Ordnung:
Die wichtigsten Punkte des Layouts sind:
fill_parent
später in der Datei nur den verbleibenden Speicherplatz, nicht den gesamten Speicherplatz, den es möglicherweise einnehmen könnte, wenn sonst war nichts dafill_parent
(match_parent
in 2.2+), sodass er den Rest des verfügbaren Speicherplatzes einnimmtEntschuldigung, ich habe Ihre Frage nicht genug gelesen. Der obige Code liefert die Antwort, wenn Sie dies vertikal tun möchten. Für ein horizontales Layout sollte der von @Sunil gepostete Code funktionieren.
quelle
Verwenden Sie Setzen Sie das
layout_width
oderlayout_height
auf0dp
(Durch die Ausrichtung möchten Sie den verbleibenden Raum füllen). Verwenden Sie dann dielayout_weight
, um den verbleibenden Platz zu füllen.quelle