2010-03-01 18 views
15

amici,come impostare la larghezza dei pulsanti in Android per coprire la larghezza dello schermo?

ho seguenti tre pulsanti nel layout lineare con fill_parent larghezza

ora come posso impostare la larghezza di questi pulsanti per coprire intera area dello schermo allo stesso modo?

qualsiasi aiuto sarebbe appagato.

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/btnReplyMessage" 
    android:gravity="left" 
    android:text="Reply" 
/> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/btnMarkAsUnread" 
    android:gravity="left" 
    android:text="Mark as unread" 
/> 

<ImageButton 
    android:id="@+id/btnDeleteMessage" 
    android:src="@drawable/imgsearch" 
    android:gravity="right" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_alignParentRight="true" 
/> 

risposta

35

Dare tutti i pulsanti seguenti

android:layout_width="fill_parent" 
android:layout_weight="1" 

fill_parent dice loro di consumare quanto più larghezza possibile, e weight determina come tale larghezza deve essere distribuita, quando più di un controllo è in competizione per lo stesso spazio. (Provate a giocare con diversi valori di weight per ogni pulsante per vedere come funziona)

+0

è applicabile solo per pulsanti o anche Edittext ?? – UMAR

+1

praticamente tutto ciò che puoi inserire in un 'LinearLayout' avrà questo comportamento. puoi giocare con l'impostazione di alcuni valori su 'wrap_content' e alcuni con' fill_parent'/'weight = 1'. in tal caso i primi consumeranno lo spazio di cui hanno bisogno e questi ultimi divideranno il resto dello spazio disponibile tra loro, in base al loro rispettivo peso. se si imposta 'orientation = vertical' sul' LinearLayout padre ', si può fare la stessa cosa con 'height' invece. –

+0

Fantastico. Un altro +1 per la grande spiegazione .... non posso darlo però. – recluze

6

Si dovrebbe solo specificare tali attributi per ciascun pulsante:

android:layout_width="fill_parent" 
android:layout_weight="1" 

quindi dovrebbe essere qualcosa di simile:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/> 
    <Button 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/> 
    <Button 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/> 
</LinearLayout> 
2

è possibile utilizzare il codice seguente:

<Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/> 

Si deve fare 0DP in larghezza su ogni tasto.

Problemi correlati