Layout => Zwei Button nebeneinander

  • Antworten:6
Lars Breuer
  • Forum-Beiträge: 5

08.01.2013, 08:47:22 via Website

Hallo zusammen,

ich würde in meiner Ansicht gerne zwei Button nebeneinander platzieren, wobei der rechte Button eine bestimmte Größe hat, der linke Button dann den Rest der Zeile ausfüllen soll (je nach Größe des Bildschirms variiert die Größe des Buttons natürlich). Leider habe ich bislang noch nicht herausgefunden, wie man das hinbekommen kann. In den Foren bin ich auch nicht fündig geworden.

Hier mein bisheriger Code:

1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout ...
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:paddingLeft="25dp"
6 android:paddingRight="25dp"
7 android:orientation="vertical"
8 android:background="@drawable/hintergrund">
9
10...
11
12 <TableLayout
13 android:layout_width="fill_parent"
14 android:layout_height="37dp"
15 android:layout_marginTop="20dp"
16 >
17
18 <TableRow
19 android:layout_width="fill_parent"
20 android:layout_height="37dp"
21 >
22
23 <Button
24 android:id="@+id/spielerimport"
25 android:background="@drawable/grossblau"
26 android:layout_width="fill_parent"
27 android:layout_height="37dp"
28 android:text="@string/mannschaftSpielerImport"
29 android:textColor="@android:color/white"
30 android:textSize="15dip"
31 />
32
33 <Button
34 android:id="@+id/spielerimportinfo"
35 android:layout_width="37dip"
36 android:layout_height="37dip"
37 android:background="@drawable/inforund"
38 android:textSize="15dip"
39 android:layout_marginLeft="10dp"
40 />
41
42 </TableRow>
43 </TableLayout>
44
45...
46
47</LinearLayout>

Wenn ich die Breite des linken Buttons mit "fill_parent" angebe, dann nimmt es die ganze breite des Bildschirms ein, sogar darüber hinausgehend und der rechte Button verschwindet außerhalb des Bildschirms.

Ich habe es jetzt mal mit einem TableLayout versucht, wobei LinearLayout oder RelativeLayout auch nicht viel besser klapt.

Weiss jemand eine Lösung? Vielen Dank für eure Hilfe.

Viele Grüße
Lars

Antworten
Lars Breuer
  • Forum-Beiträge: 5

08.01.2013, 09:34:22 via Website

Klappt leider so nicht. Der "fill-parent-Button" geht weiterhin weit über den Bildschirmrand hinaus. Der zweite Button verschwindet dann außerhalb.

Gibt es noch eine andere Idee?

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

08.01.2013, 09:52:25 via Website

Ich wäre für sowas gar nicht auf die Idee gekommen, ein table zu verwenden...

Entweder ein RelativeLayout, (Button2 alignParentRight 37dp), (Button1 alignParentLeft toLeftOf Button2, wrap_content)
oder, wenn ich gerade Lust hätte, was anderes zu probieren:
LinearLayout (button1 fill_parent), (Button2 37dp)

Rafaels Vorschlag müsste aber auch funktionieren, evtl. setzt du Button1 dazu mal auf wrap_content.

Antworten
Lars Breuer
  • Forum-Beiträge: 5

08.01.2013, 10:43:59 via Website

Danke für die Vorschläge. Ich werde mal entsprechend rumprobieren und melde mich dann.

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

08.01.2013, 12:16:01 via Website

Ich benutze nur LinearLayouts wenn es nicht wirklich eine Tabelle ist.
Bei diesem Layout ist der Trick das LayoutWeight
Setze ihn für den Button der den Rest des Bildschirmes einnehmen soll auf irgeneinden Wert z.B. 1 und nehme match_content

Antworten
Lars Breuer
  • Forum-Beiträge: 5

08.01.2013, 13:40:47 via Website

Danke noch einmal für eure Rückmeldungen.
Nach anddevs Rückmeldung habe ich es noch einmal mit dem TableLayout versucht und neben

1<TableLayout android:stretchColumns="0"

die Breite des linken Button auf 0 gesetzt, also

1android:layout_width="0dp"

So funktioniert es. Der linke Button wird nun auf den Rest der Breite gestreckt.

Ich denke auch, dass es mit LinearLayout eleganter ist, aber das habe ich jetzt nicht ausprobiert. Danke für eure Hilfe.

Viele Grüße
Lars

Antworten