82 votes

Comment centrer un texte de deux lignes dans un TextView sur Android ?

Je veux qu'il ressemble à ceci :

|    two    |
|   lines   |

Voici la présentation actuelle, qui ne fonctionne pas du tout.

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="two\nlines"
        android:layout_gravity="center_vertical"
        android:layout_centerInParent="true"/>
</RelativeLayout>

Une idée ? Merci de votre compréhension.

224voto

kcoppock Points 57219

Si vous souhaitez simplement le centrer (je suppose que l'option \n fonctionne pour diviser les lignes), il suffit d'ajouter android:gravity="center_horizontal" plutôt que layout_gravity .
L'utilisation de la gravité de la disposition déplace le TextView, l'utilisation de la gravité affecte le contenu de la fenêtre de texte.

21voto

kishor.j Points 118

Il a fallu ajouter les deux gravity y layout_gravity pour aligner les deux TextView et son contenu

android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"

4voto

Shivam Points 336

Si votre largeur est wrap_content, vous devez définir gravity et layout_gravity comme "center_horizontal".

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"/>

Toutefois, si votre largeur est "match_parent", vous n'aurez qu'à définir la gravité comme "center_horizontal"

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:gravity="center_horizontal"/>

J'espère que cela vous aidera !

2voto

Dleelk4android Points 31

Vous pouvez utiliser :

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));

1voto

Dea Venditama Points 33

J'utilise :

android:gravity="center_horizontal"

pour centrer un texte sur deux lignes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X