Je tente d'aligner le centre vertical de linearlayout, ce qui montre l'image suivante (bordure en couleur céleste) pour supprimer le centre vertical du bouton.
donc j'ai mis la gravité de id: groupNumbers à center_vertical.
mais pas changé.
Comment aligner id: groupNumbers au centre des boutons?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="horizontal"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<LinearLayout
Android:id="@+id/groupNumbers"
Android:orientation="horizontal"
Android:gravity="center_vertical"
Android:layout_weight="0.7"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<LinearLayout
Android:orientation="horizontal"
Android:layout_weight="1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<TextView
Android:id="@+id/txtSelected01"
Android:text="00"
Android:textSize="30dp"
Android:gravity="center_horizontal"
Android:layout_weight="1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
Android:orientation="horizontal"
Android:layout_weight="1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<TextView
Android:id="@+id/txtSelected02"
Android:text="00"
Android:textSize="30dp"
Android:gravity="center_horizontal"
Android:layout_weight="1"
Android:layout_width="0dp"
Android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<Button
Android:id="@+id/btn_deleteNum"
Android:text="Delete"
Android:textSize="20dp"
Android:layout_weight="0.2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
</LinearLayout>
Changer l'orientation et la gravité dans
<LinearLayout
Android:id="@+id/groupNumbers"
Android:orientation="horizontal"
Android:gravity="center_vertical"
Android:layout_weight="0.7"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
à
Android:orientation="vertical"
Android:layout_gravity="center_vertical"
Vous ajoutez une orientation: horizontale, de sorte que la disposition contiendra tous les éléments sur une seule ligne horizontale. Ce qui ne vous permettra pas de placer l'élément au centre.
J'espère que cela t'aides.
utilisez Android:layout_gravity
au lieu de Android:gravity
Android:gravity
définit la gravité du contenu de la vue utilisé sur .Android:layout_gravity
définit la gravité de la vue ou de la présentation dans son parent.
Utilisez layout_gravity
au lieu de gravity
. layout_gravity
indique au parent où il doit être positionné et gravity
indique à son enfant où ils doivent être positionnés.
<LinearLayout
Android:id="@+id/groupNumbers"
Android:orientation="horizontal"
Android:layout_gravity="center_vertical"
Android:layout_weight="0.7"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
Pour moi, j'ai résolu le problème en utilisant Android:layout_centerVertical="true"
dans un parent RelativeLayout
:
<RelativeLayout ... >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:layout_centerVertical="true">
</RelativeLayout>
Pour une boîte qui apparaît au centre - horizontale et verticale -, cela ne fonctionne qu'avec un seul LinearLayout La answer de Viswanath L était très utile.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:background="@drawable/layout_bg"
Android:gravity="center"
Android:orientation="vertical"
Android:padding="20dp">
<TextView
Android:id="@+id/dialog_header"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:padding="10dp"
Android:text="Error"
Android:textColor="#000" />
<TextView
Android:id="@+id/message_text"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:padding="10dp"
Android:text="Error-Message"
Android:textColor="#000" />
<Button
Android:id="@+id/dialogButtonOK"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@+id/message_text"
Android:layout_gravity="center_horizontal"
Android:layout_marginTop="5dp"
Android:text="Ok" />
</LinearLayout>
utiliser RelativeLayout dans LinearLayout
exemple:
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerVertical="true"
Android:text="Status"/>
</RelativeLayout>
</LinearLayout>