2010-04-18 7 views
9

Sto provando a layout 1 textview (upText) allineato a sinistra e 1 textview (downText) e una vista immagine (immagine) sia sulla stessa linea che allineati a destra.Come layout view allineato a destra e in basso di un LinearLayout

come posso farlo? L'ho provato, ma sia "vista testo" che vista immagine allineati a sinistra.

 <TextView 
      android:id="@+id/uptext" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="left"/> 
     <TextView 
      android:id="@+id/downtext" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:gravity="right|bottom"/> 
     <ImageView 
      android:id="@+id/image" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="right|bottom"/> 
    </LinearLayout> 

risposta

23

Non utilizzare un LinearLayout. Utilizzare un RelativeLayout, con

  • tua prima TextView set con android:layout_alignParentLeft="true"
  • tuo secondo TextView set con android:layout_alignParentBottom="true" e android:layout_alignParentRight="true"
  • qualcosa di simile per il vostro ImageView, che sembra attualmente come sta andando a sovrapporsi alla seconda TextView
+0

Grazie. Come posso fare in modo che sia il secondo TextView che ImageView siano disposti fianco a fianco in basso e allineati a destra del LinearLayout principale? – michael

+1

Quello che va completamente in basso a destra ("Widget A") dovrebbe avere "android: layout_alignParentBottom =" true "' and 'android: layout_alignParentRight =" true "'. L'altro ("Widget B") dovrebbe avere 'android: layout_alignParentBottom = "true" 'e' android: layout_toLeftOf = "..." ', dove' "..." 'è il' android: id' del Widget A. – CommonsWare

0

Mi rendo conto che questo post è un po 'vecchio ma nel caso in cui qualcuno lo trovi nella loro ricerca per chiarezza;

La disposizione genitore lineare è dove deve essere specificato per il bambino per allinearsi con il comportamento desiderato motivo per cui i messaggi di cui sopra sono spiegando che la layout lineare non è possibile che due comportamenti distinti a verificarsi poiché un bambino non può decidere gravità dove allinearsi all'interno di un layout lineare.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="200dp" 
android:layout_height="50dp" 
android:gravity="bottom|right"> 

<TextView 
    android:layout_width="40dp" 
    android:layout_height="20dp" 
    android:text="test"/></LinearLayout> 

Va anche detto che il layout genitore lineare deve avere una dimensione definita e non essere avvolgente contenuto o questo non funzionerà in quanto contenuti involucro implica che non ci sarà più spazio nel layout per il posizionamento, quindi è necessario disporre di un "parente superiore" per larghezza e altezza, oltre a disporre di un genitore con una dimensione maggiore rispetto al contenuto dell'involucro per il layout lineare figlio stesso.

Spero che questo aiuti.

Problemi correlati