J'essaie de centrer un bouton dans une disposition relative, est-ce possible? J'ai essayé les fonctions Gravité et Orientation mais elles ne font rien.
J'essaie de centrer un bouton dans une disposition relative, est-ce possible? J'ai essayé les fonctions Gravité et Orientation mais elles ne font rien.
Réponses:
Essayer
android:layout_centerHorizontal="true"
Exactement comme ça, ça marche pour moi:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000">
<Button
android:id="@+id/btn_mybutton"
android:layout_height="wrap_content"
android:layout_width="124dip"
android:layout_marginTop="5dip"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Vous pouvez utiliser CENTER_IN_PARENT pour une mise en page relative.
Ajouter android:layout_centerInParent="true"
à l'élément que vous souhaitez centrer dans le RelativeLayout
Arcadia, essayez simplement le code ci-dessous. Il existe plusieurs façons d'obtenir le résultat que vous recherchez, c'est l'une des méthodes les plus simples.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"/>
</RelativeLayout>
La définition de la gravité du RelativeLayout lui-même affectera tous les objets placés à l'intérieur. Dans ce cas, c'est juste le bouton. Vous pouvez utiliser n'importe lequel des paramètres de gravité ici, bien sûr (par exemple center_horizontal, top, right, etc.).
Vous pouvez également utiliser ce code ci-dessous:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"
android:layout_centerInParent="true"/>
</RelativeLayout>
Résumé
Ajouter:
android:layout_centerInParent="true"
fonctionne uniquement sur RelativeLayout, si l'un des attributs suivants est également défini pour la vue:
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
qui aligne la vue enfant sur la vue parent. Le "centre" est basé sur l'axe de l'alignement que vous avez choisi:
gauche / droite -> vertical
haut / bas -> horizontal
Définition de la gravité des enfants / du contenu dans la vue:
android:gravity="center"
centre l'enfant dans la vue parent dans tous les cas, s'il n'y a pas d'alignement défini. Facultatif, vous pouvez choisir:
<!-- Axis to Center -->
android:gravity="center_horizontal"
android:gravity="center_vertical"
<!-- Alignment to set-->
android:gravity="top"
android:gravity="bottom"
android:gravity="left"
android:gravity="right"
android:gravity="fill"
...
Ensuite il y a:
android:layout_gravity="center"
qui centre la vue elle-même dans son parent
Et enfin, vous pouvez ajouter l'attribut suivant à la vue des parents:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
Utilisez l'attribut à l' android:centerInParent="true"
intérieur d'une vue, lorsque vous souhaitez centrer la vue dans la disposition relative.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NWE"
android:textSize="30dp"/>
</RelativeLayout>
C'est facile, ne l'alignez sur rien
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
C'est vraiment simple. Essayez le code ci-dessous,
<RelativeLayout
android:id="@+id/second_RL"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_RL"
android:background="@android:color/holo_blue_bright"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
vous devez l'avoir aligné à gauche ou à droite de la vue parent
n'utilisez aucun de ceux-ci lorsque vous utilisez des android:centerInParent="true"
codes: -
android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
etc.