1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

linearlayout buttons und gravity

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ping87, 29.09.2010.

  1. ping87, 29.09.2010 #1
    ping87

    ping87 Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    27.09.2010
    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?
     
  2. FelixL, 29.09.2010 #2
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    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.
     
    ping87 bedankt sich.
  3. BenOtto, 30.09.2010 #3
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Beiträge:
    141
    Erhaltene Danke:
    15
    Registriert seit:
    30.08.2010
    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: 30.09.2010
    ping87 bedankt sich.
  4. ping87, 30.09.2010 #4
    ping87

    ping87 Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    27.09.2010
    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!
     

Diese Seite empfehlen