Android: layout_gravity centre n'a pas de centre de

J'ai un problème, qui est peut-être idiot, mais je ne peux pas comprendre pourquoi cela ne fonctionne pas.

En gros, j'ai un en-tête dans mon activité. Cet en-tête doit être centré.

Schéma XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView 
    style="@style/TextHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/define"
    />
</LinearLayout>

Définition dans styles.xml

<style name="TextHeader">
    <item name="android:textSize">20dp</item>
    <item name="android:paddingTop">15dp</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:paddingBottom">15dp</item>
</style>

Que je comprends, layout_gravity définit la gravité du composant lui-même, tandis que gravity définit la gravité du contenu de ce composant. J'ai essayé les deux façons, à la fois avec center et center_horizontal. J'ai aussi fait l'en-tête TextView layout_width:wrap_content et a essayé de le centre de layout_gravity, mais le résultat est toujours le suivant (même chose si j'ai mis l'application sur mon téléphone)

Android: layout_gravity centre n'a pas de centre de

pourquoi est-ce donc? comment puis-je résoudre ce problème?

n'avez-vous pas essayé center_vertical? Vous pouvez également utiliser relativelayout au lieu de linéaire de mise en page.

OriginalL'auteur Valentino Ru | 2012-08-27