2011-11-12 22 views
13

Ho appena trovato che non riesco a rimuovere lo spazio tra 2 pulsanti anche se ho impostato il layout_marginRight e layout_marginLeft come di seguito. Ma ha senso se imposto lo spazio più grande come 10 dp. Qualche modo per risolverlo?Android: come non fare spazio tra 2 pulsanti in una linearlaylaylay orizzontale

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:orientation="horizontal" android:padding="0dp" 
    android:layout_height="wrap_content" android:gravity="fill_horizontal" android:layout_margin="0dp"> 
    <Button android:id="@+id/LocationTitleButton" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="0dp" 
        android:layout_gravity="center_vertical" 
        android:layout_weight="1" 
        android:ellipsize="end" 
        android:gravity="center_vertical" 
        android:scrollHorizontally="true" 
        android:singleLine="true" 
        android:text="Add location" 
        android:textStyle="bold" /> 
       <Button android:textColor="#FF000000" 
        android:layout_weight="0" 
        android:id="@+id/AddLocationButton" 
        android:text="Search" 
        android:gravity="center_vertical" 
        android:layout_gravity="center_vertical" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="0dp" /> 
</LinearLayout> 
+1

Si consiglia di impostare layout_width di "0dip" per ogni pulsante. Spero possa essere d'aiuto. –

+0

non funziona, farò scomparire il pulsante destro poiché il suo peso è 0. –

+0

È necessario impostare il peso del secondo pulsante su 0? –

risposta

38

Si prega di guardare Bryan's answer. Con la mia risposta entrambi i pulsanti si sovrappongono. La risposta di Bryans mostra la dimensione reale dei pulsanti.

Vecchia risposta:

Basta impostare la android:layout_marginRight del primo pulsante a "-8dip" o anche di più. Lo spazio tra i due pulsanti diventerà più piccolo.

+0

è davvero complicato ma funziona, grazie! –

+5

margini negativi dovrebbero essere evitati .. – Muzammil

+2

@Muzammil: Puoi dare una spiegazione per la tua opinione? –

1

Sarà necessario impostare android:layout_marginRight="0dip" e sarà necessario rimuovere il padding con android:paddingRight="0dip" per l'altro pulsante questo deve essere modificato sui valori di sinistra. Immagino che tu abbia dimenticato che ogni elemento di Android ha generalmente un riempimento aggiunto per impostazione predefinita. Questa è generalmente una buona idea, ma se vuoi rimuoverla, questo è il modo.

+0

Ho provato, non funziona per rimuovere il divario tra i 2 pulsanti. Il padding è per lo spazio all'interno del pulsante. –

2

È possibile passare a RelativeLayout. Non c'è spaziatura in quel layout.

0

Penso che si possa sbarazzarsi dello spazio se invece si utilizza TableLayout. E puoi impostare valori negativi per il margine, se sta ancora aggiungendo uno spazio predefinito tra loro.

23

Provare a cambiare il colore del pulsante, perché l'interfaccia predefinita del pulsante nativo per Android è in realtà più piccola della sua dimensione, ed è centrata per renderlo bello.

Cambia lo sfondo in nero o qualcosa e vedrai le dimensioni reali del pulsante.

android:background="#000" 
+3

Questa dovrebbe essere accettata risposta. La risposta di Franziskus non è davvero una buona pratica. – Drag0

0

Usa "layout_marginLeft" & "layout_marginRigh" per riempire il pulsante sfondo

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:gravity="bottom" 
    android:orientation="horizontal" > 

    <Button 
     android:id="@+id/imageButton1" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="-5dp" 
     android:layout_marginLeft="-3dp" 
     android:layout_marginRight="-4dp" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/create_mail" /> 

    <Button 
     android:id="@+id/bItem" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="-5dp" 
     android:layout_marginLeft="-4dp" 
     android:layout_marginRight="-4dp" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/email_receive3" 
     android:onClick="OnClick" 
     android:text="@string/inbox" /> 


    <Button 
     android:id="@+id/imageButton2" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="-5dp" 
     android:layout_marginLeft="-4dp" 
     android:layout_marginRight="-3dp" 
     android:layout_weight="1" 
     android:drawableTop="@drawable/email_trash" /> 


</LinearLayout> 
Problemi correlati