web-dev-qa-db-fra.com

Android: comment faire pour qu'il n'y ait pas d'espace entre 2 boutons dans une représentation horizontale

Je viens de constater que je ne peux pas supprimer l’espace entre 2 boutons même si je règle les layout_marginRight et layout_marginLeft comme ci-dessous. Mais il est logique de définir un espace plus grand, tel que 10 dp. Un moyen de le résoudre?

<?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>
14
George_BJ

Veuillez regarder la réponse de Bryan . Avec ma réponse, les deux boutons se chevauchent. La réponse de Bryans indique la taille réelle des boutons.

Ancienne réponse:

Il suffit de définir le Android:layout_marginRight du premier bouton sur "-8dip" ou même plus. Ensuite, l’espace entre les deux boutons sera plus petit.

43

Essayez de changer la couleur du bouton, car l'interface par défaut du bouton, qui est natif d'Android, est en fait plus petite que sa taille et ajustée au centre pour lui donner un aspect cool.

Changer son fond en noir ou quelque chose et vous verrez la taille réelle du bouton.

Android:background="#000"
29
Bryan P

Vous pouvez passer à RelativeLayout. Il n'y a pas d'espacement dans cette mise en page.

3
Raz

Vous devrez définir Android:layout_marginRight="0dip" et vous devrez supprimer le remplissage avec Android:paddingRight="0dip" pour l'autre bouton, il faudra modifier les valeurs de gauche. Je suppose que vous avez oublié que chaque élément Android a généralement un remplissage ajouté par défaut. C’est généralement une bonne idée, mais si vous souhaitez la supprimer, c’est la solution.

1
Darokthar

Je pense que vous pouvez vous débarrasser de l'espace si vous utilisez plutôt TableLayout. Et vous pouvez définir des valeurs négatives pour la marge, si elle ajoute encore de l'espace par défaut entre elles.

0
Genia S.

Utilisez "layout_marginLeft" & "layout_marginRigh" pour remplir le bouton d'arrière-plan

<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>
0
Mi.HTR