J'ai la mise en page suivante
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<LinearLayout
Android:orientation="horizontal"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/title_bar_background">
<TextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:textAppearance="?android:attr/textAppearanceLarge"
Android:padding="10dp"
Android:text="HELLO WORLD" />
</LinearLayout>
<LinearLayout>
Il semble que le XML soit correct mais le texte est aligné à gauche. La vue texte occupe toute la largeur du parent et la vue texte est définie pour être centrée. Je ne sais pas quel est le problème ...
Ce qui se passe, c’est que puisque le TextView remplit la largeur entière du LinearLayout intérieur, il se trouve déjà au centre horizontal du layout. Lorsque vous utilisez Android:layout_gravity
, le widget est globalement placé dans la gravité spécifiée. Au lieu de placer tout le centre du widget, vous essayez réellement de placer le contenu au centre, ce qui peut être accompli avec Android:gravity="center_horizontal"
et l'attribut Android:layout_gravity
peut être supprimé.
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<LinearLayout
Android:orientation="horizontal"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/title_bar_background">
<TextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:textAppearance="?android:attr/textAppearanceLarge"
Android:padding="10dp"
Android:text="HELLO WORLD" />
</LinearLayout>
Si vous définissez <TextView>
au centre de <Linearlayout>
, mettez d'abord Android:layout_width="fill_parent"
obligatoire
Pas besoin d'utiliser une autre gravité
<LinearLayout
Android:layout_toRightOf="@+id/linear_profile"
Android:layout_height="wrap_content"
Android:layout_width="fill_parent"
Android:orientation="vertical"
Android:gravity="center_horizontal">
<TextView
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"
Android:text="It's.hhhhhhhh...."
Android:textColor="@color/Black"
/>
</LinearLayout>
Utilisez Android:gravity="center"
dans TextView
au lieu de layout_gravity
.
Utilisez simplement: Android: layout_centerHorizontal = "true"
Il mettra toute la vue de texte au centre