Centrer un bouton dans une disposition linéaire

J’utilise une disposition linéaire pour afficher un écran initial assez léger. Il a 1 bouton qui est censé se centrer dans l’écran à la fois horizontalement et verticalement. Cependant, peu importe ce que j’essaie de faire, le bouton aligne le centre. J’ai inclus le XML ci-dessous, quelqu’un peut-il me diriger dans la bonne direction?

    

Si vous voulez centrer un élément au milieu de l’écran, n’utilisez pas LinearLayout car il est destiné à afficher un certain nombre d’éléments dans une rangée.

Utilisez plutôt un RelativeLayout .

Alors remplacez:

 android:layout_gravity="center_vertical|center_horizontal" 

pour l’option RelativeLayout pertinente:

 android:layout_centerInParent="true" 

Ainsi, votre fichier de mise en page ressemblera à ceci:

 < ?xml version="1.0" encoding="utf-8"?>    

Centrer en utilisant un LinearLayout:

    

Avez-vous essayé de définir android:gravity="center_vertical|center_horizontal" dans la mise en page et en définissant android:layout_weight="1" dans l’image?

Une méthode couramment utilisée avec la disposition linéaire consiste à définir une propriété sur le bouton d’image.

 android:layout_gravity="center" 

Vous pouvez choisir d’aligner à gauche, d’aligner au centre ou d’aligner à droite chaque object dans la disposition linéaire. Notez que la ligne ci-dessus est exactement la même que

 android:layout_gravity="center_vertical|center_horizontal" 

Ajoute ça

 android:gravity="center" 

Dans LinearLayout.

facile avec ça

      

Vous pouvez utiliser le RelativeLayout .

 < ?xml version="1.0" encoding="utf-8"?>     

Le code ci-dessus fonctionnera.

échantillon complet et fonctionnel de ma machine …

          

Selon la documentation Android pour les atsortingbuts XML d’ android: layout_gravity , nous pouvons le faire facilement 🙂

 < ?xml version="1.0" encoding="utf-8"?>    

Si vous utilisez LinearLayout vous pouvez append un centre de gravité:

   ` 

Vous pouvez également essayer ce code:

         

utilisez simplement (pour le placer au centre de votre mise en page)

  android:layout_gravity="center" 

et utilise

  android:layout_marginBottom="80dp" android:layout_marginTop="80dp" 

changer de postion

Définissez sur true android:layout_alignParentTop="true" et android:layout_centerHorizontal="true" dans le bouton, comme ceci:

    

entrer la description de l'image ici

Vous pouvez également définir la largeur de LinearLayout sur wrap_content et utiliser android:layout_centerInParent , android:layout_centerVertical="true" :

   

Avez-vous essayé ceci?

                

utilisation

android: layout_centerHorizontal = “true”

Il serait plus facile d’utiliser des mises en page relatives, mais pour les mises en page linéaires, je me concentre généralement en veillant à ce que la largeur corresponde à celle du parent:

  android:layout_width="match_parent" 

et puis il suffit de donner des marges à droite et à gauche en conséquence.

  android:layout_marginLeft="20dp" android:layout_marginRight="20dp"