2010-09-27 21 views
8

Ho seguito in xmlCome posizionare il layout relativo nella parte inferiore dello schermo (o layout lineare).?

Voglio mettere il secondo layout lineare nella parte inferiore dello schermo. Come farò? Ho impostato la proprietà del secondo layout relativa al fondo, ma ancora non mostra al fondo ..

**

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent">  
<RelativeLayout android:id="@+id/RelativeLayout01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
</RelativeLayout> 
<RelativeLayout android:id="@+id/RelativeLayout02" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
</RelativeLayout> 
<RelativeLayout android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_gravity="bottom"> 
</RelativeLayout> 
</LinearLayout> 

** Grazie in anticipo

+0

Voglio mettere il secondo layout relativo alla parte inferiore dello schermo – Sandy

risposta

11

il layout desiderato in fondo dovrebbe avere:
android:gravity = "bottom"
e il suo genitore dovrebbe avere:
android:layout_height="fill_parent"

+0

ho impostato la sia al di sopra di proprietà Ancora layout non è, in fondo, dello schermo – Sandy

+0

@Sandy Il layout principale è il layout "root", ovvero riempie completamente lo schermo? Anche il layout figlio dovrebbe avere 'android: layout_height =" wrap_content "'. Pubblicare il tuo codice sarebbe utile :-) – fredley

+0

Yaa layout genitore riempire completamente lo schermo.Il bambino ha Android: layout_height = "wrap_content" – Sandy

13

Stavo cercando anche questo. Il mio appena trovato soluzione è quella di utilizzare la proprietà:

android:layout_alignParentBottom="true" 

al posto del tuo attuale android:layout_gravity="bottom"

Questo purtroppo con il mio layout funziona solo quando si ha un ulteriore RelativeLayout il layout radice e il resto aggiunto ad esso. Forse questo non è sempre il caso, ma con un LinearLayout (anche quando ci si dice di usare fill_parent) si è utilizzato solo l'altezza di tutti gli elementi aggiunti necessari e si è messo il mio footer in fondo a quelli.

Sono venuto a questa soluzione, guardando questa domanda relativa: How do I achieve the following result using RelativeLayout?

EDIT qui perché formato in risposta commento si è perso: Vuoi dire non si può riscrivere o che non ha funzionato ?

Ho avuto anche un LinearLayout verticale e la mia nuova struttura xml sembra (senza i parametri di dimensione del layout ecc.) Sth. in questo modo:

<RelativeLayout> 
    <RelativeLayout 
     android:id="@+id/RelativeLayout01"> 
    </RelativeLayout> 
    <RelativeLayout 
     android:id="@+id/RelativeLayout02" 
     android:layout_below="@+id/RelativeLayout01"> 
    </RelativeLayout> 
    <RelativeLayout 
     android:layout_below="@+id/RelativeLayout02" 
     android:layout_alignParentBottom="true"> 
    </RelativeLayout> 
</RelativeLayout> 
+0

Grazie per la risposta, ma non funziona con il mio layout. – Sandy

+0

Hai già provato a riscrivere il tuo xml nel modo del mio nuovo esempio? Se non funziona forse puoi dare maggiori dettagli sul layout desiderato. – sunadorer

0
<Linearlayout android:layout_height="fill_parent" 
android:orinationtation="vertical" 
android:layout_width="fill_parent"> 

<RelativeLayout android:layout_height="0dp" 
android:layout_width="fill_parent" 
android:weight="1"> 
</RelativeLayout> 

<RelativeLayout 
android:layout_height="0dp" 
android:layout_width="fill_parent" 
android:weight="1" 
> 
</RelativeLayout> 



</Linearlayout > 
1

si dovrebbe mettere un Visualizza prima ultimo layout con il peso 1, che verrà messo a fondo. Come questo:

<View android:id="@+id/emptySpace" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    /> 
+0

questa dovrebbe essere la risposta giusta! –

1

Provare a utilizzare:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#ffb3e5fc" 
    android:id="@+id/linearLayout1"> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="bottom"> 
<Button 
    android:id="@+id/button1" 
    android:text="Left" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_toLeftOf="@+id/centerPoint" /> 
<TextView 
    android:id="@+id/centerPoint" 
    android:text="" 
    android:layout_width="1dip" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" /> 
<Button 
    android:id="@+id/button2" 
    android:text="Right" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_toRightOf="@+id/centerPoint" /> 
</RelativeLayout> 
</LinearLayout> 

It produces something that looks like this

Problemi correlati