linearlayout buttons und gravity

P

ping87

Neues Mitglied
0
Hallo,
ich möchte gerne zwei buttons in einem horizontalem linearlayout nebeneinander anzeigen. bzw einen button am linken rand und einen am rechten rand positionieren. das linearlayout soll dabei am Boden der activity angezeigt werden.

Code:
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="horizontal" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:gravity="bottom">

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

		<Button android:id="@+id/next" android:layout_width="wrap_content"
			android:layout_height="wrap_content" android:text="next" android:layout_gravity="right"/>
	</LinearLayout>

normalerweise müsste doch das reichen. das zeigt mir zwar die beiden buttons am bottom der activity an aber ganz normal linksbündig nebeneinander. ich möchte aber den einen button links und den anderen rechts positioniert haben.. und optimalerweise sollten sich die buttons in der breite den platz teilen.

kann mir da jemand helfen?
 
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="horizontal" 
		android:layout_width="fill_parent"
		android:layout_height="fill_parent" 
		android:gravity="bottom">

		<Button android:id="@+id/prev" 
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" 
			android:text="prev"  
			android:layout_weight="1"/>
			

		<Button android:id="@+id/next" 
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" 
			android:text="next"
			android:layout_weight="1"/>
	</LinearLayout>

Meine Änderungen:
im Linear Layout:
android:layout_height="fill_parent"
Bei mir wurden die Buttons ansonsten oben angezeigt.
Wenn du noch was drumrum hast kann es sein das das bei dir nicht nötig ist.

in den Buttons:
android:layout_weight="1"/
bei beiden rein,
android:layout_gravity="right"
beim unteren raus, ist unnötig.
 
  • Danke
Reaktionen: ping87
Das ausrichten rechts und links innerhalb einer Zeile ist nicht ganz trivial. Wenn dir die Lösung von FelixL reicht, ist das okay. Zum besseren Verständnis von LinearLayouts kann ich diesen Blogeintrag empfehlen.

Eigentlich müsste man folgendes tun:
HTML:
<LinearLayout
		android:layout_width="fill_parent"
	  	android:layout_height="wrap_content"
	  	android:layout_gravity="bottom"
	  	android:orientation="horizontal">
	  	
	  	<Button
	  		android:layout_width="wrap_content"
			android:layout_height="wrap_content"
		 	android:text="prev" />
		<View
			android:layout_width="wrap_content"
			android:layout_height="0dip"
			android:layout_weight="1" />
		<Button
	  		android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:text="prev" />
		
	</LinearLayout>

Die leere View zwischen den Buttons dient also nur dem "Auseinanderdrücken". Die 0px als layout_height sind wichtig, damit sich die View nicht auch vertikal ausbreitet.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: ping87
danke leute :)
es funktionieren beide lösungen...
habe mich für die variante von FelixL entschieden da hier die buttons noch zusätzlich gleichmäsig in der breite verteilt sind....

herzlichen dank!
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
337
swa00
swa00
MES
Antworten
10
Aufrufe
819
MES
MES
A
Antworten
3
Aufrufe
684
swa00
swa00
Zurück
Oben Unten