web-dev-qa-db-fra.com

Comment centrer le texte horizontalement et verticalement dans un TextView?

Comment centrer le texte horizontalement et verticalement dans un TextView afin qu'il apparaisse exactement au milieu du TextView dans Android?

1893
pupeno

Je suppose que vous utilisez une disposition XML.

<TextView  
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent" 
    Android:gravity="center"
    Android:text="@string/**yourtextstring**"
/>

Vous pouvez également utiliser la gravité center_vertical ou center_horizontal en fonction de vos besoins.

et comme @stealthcopter a commenté en Java: .setGravity(Gravity.CENTER);

2909
Bill
Android:gravity="center" 

Ça fera l'affaire

428
Jean

Vous pouvez également le configurer de manière dynamique en utilisant:

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
287
zeevb
Android:layout_centerInParent="true"

Cela fonctionne lorsqu'il est utilisé avec un RelativeLayout où la hauteur et la largeur de la mise en page sont définies sur wrap_content.

109
itherese

Vous pouvez également utiliser la combinaison:

Android:gravity="left|center"

Ensuite, si la largeur de la vue de texte est supérieure à "fill_parent", le texte sera toujours aligné à gauche (non centré comme dans le cas de la gravité définie sur "centre").

78
Szorstki

Appliquer la gravité:

TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);

Pour vertical:

txtView.setGravity(Gravity.CENTER_VERTICAL);

En XML:

<TextView      
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent" 
    Android:gravity="center"
    Android:text="@string/Hello_World"        
/>
52
Gaganpreet Singh

Il y a deux façons de le faire.

Le premier dans le code XML. Vous devez faire attention à l'attribut Gravity. Vous pouvez également trouver cet attribut dans l'éditeur graphique; cela peut être plus facile que XML EDITOR.

<TextView  
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent" 
    Android:gravity="center_vertical|center_horizontal"
    Android:text="Your Text"
/>

Pour votre scénario spécifique, les valeurs de gravité seront:

center_vertical|center_horizontal

Dans l'éditeur graphique, vous trouverez toutes les valeurs possibles, voire leurs résultats.

39
Cristiano Guerra

Si vous utilisez TableLayout, veillez également à définir la gravité des tables de niveau sur le centre. Sinon, ça ne marchera pas. Au moins, cela n’a pas fonctionné avec moi tant que je n’ai pas centré la gravité de la TableRow.

Par exemple, comme ceci:

<TableRow Android:id="@+id/tableRow2" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:gravity="center">        
    <TextView Android:text="@string/chf" Android:id="@+id/tv_chf" Android:layout_weight="2" Android:layout_height="wrap_content" Android:layout_width="fill_parent" Android:gravity="center"></TextView>        
</TableRow>
38
Maverick1st

Vous devez définir TextView Gravity (Centre horizontal et centre vertical) comme suit:

Android:layout_centerHorizontal="true"   

et

Android:layout_centerVertical="true"

Et en utilisant dynamiquement:

textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
35
NagarjunaReddy

À mon avis,

Android:gravity="center"

est mieux que,

Android:layout_centerInParent="true"

qui est meilleur que,

Android:layout_centerHorizontal="true"
Android:layout_centerVertical="true"

au moins pour le formatage du texte.

30
epicness42

Pour la disposition linéaire: Dans XML, utilisez quelque chose comme ceci

<TextView  
    Android:id="@+id/textView1"
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent" 
    Android:gravity="center_vertical|center_horizontal"
    Android:text="Your Text goes here"
/>

Pour ce faire, utilisez quelque chose comme ceci dans votre activité

TextView textView1 =(TextView)findViewById(R.id.texView1);
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

Pour la disposition relative: dans XML, utilisez quelque chose comme ceci

<TextView  
    Android:id="@+id/textView1"
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent" 
    Android:layout_centerInParent="true"
    Android:text="Your Text goes here"
/>

Pour ce faire, utilisez quelque chose comme ceci dans votre activité

TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
27
Karthikeyan

Utiliser dans le fichier XML.

fichier de mise en page

<TextView
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:gravity="center"
    Android:text="@string/stringtext"/>

ou:

tilisez ceci à l'intérieur de la classe Java

TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
22
venu

Utilisez ceci pour une mise en page relative

Android:layout_centerInParent="true"

et pour autre mise en page

Android:gravity="center" 
19
user1087919

Bien que l’utilisation de Gravity fonctionne pour TextView, il existe une autre méthode implémentée dans l’API de niveau 17 -

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

Je ne connais pas la différence, mais ça marche aussi. Cependant, uniquement pour les API de niveau 17 ou supérieur.

15
noob

Si TextView's hauteur et largeur sont wrap content, alors le texte à l'intérieur de TextView sera toujours centré. Mais si TextView's width est match_parent et que height est match_parent ou wrap_content, vous devez écrire le code ci-dessous:

Pour RelativeLayout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <TextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:gravity="center" 
        Android:text="Hello World" />

</RelativeLayout>

Pour LinearLayout:

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

    <TextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:gravity="center"
        Android:text="Hello World" />

</LinearLayout>
14
Avijit Karmakar

Dans RelativeLayout, ce sera bien avec elle.

Et un autre Button et tout ce que vous pouvez ajouter.

Ce qui suit fonctionne bien pour moi.

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:background="#ff314859"
    Android:paddingLeft="16dp"
    Android:paddingRight="16dp">
    <TextView 
        Android:id="@+id/txt_logo"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:text="your text here"
        Android:textSize="30dp"
        Android:gravity="center"/>

        ...other button or anything else...

</RelativeLayout>
12
Yuda Prawira

Vous pouvez simplement définir la gravity de votre affichage de texte sur CENTER.

11
note-knotz

Le moyen le plus simple (qui n'est étonnamment mentionné que dans les commentaires, d'où la raison pour laquelle je poste en tant que réponse) est:

textview.setGravity(Gravity.CENTER)
11
user1

Si vous essayez de centrer le texte sur un tableau dans une table, voici comment j'ai réalisé ceci:

<TableRow Android:id="@+id/rowName"
          Android:layout_width="wrap_content"
          Android:layout_height="wrap_content"
          Android:padding="5dip" >
    <TextView Android:id="@+id/lblSomeLabel"
              Android:layout_width="fill_parent"
              Android:layout_height="fill_parent"
              Android:gravity="center"
              Android:layout_width="0dp"
              Android:layout_weight="100"
              Android:text="Your Text Here" />
</TableRow>
9
dyslexicanaboko

Si vous utilisez la disposition relative:

  <TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="@string/stringname"
    Android:layout_centerInParent="true"/>

Si vous utilisez LinearLayout

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="@string/stringname"
    Android:layout_gravity="center"/>
9
Niranjan

Voici ma réponse que j'avais utilisée dans mon application. Il montre le texte au centre de l'écran.

<TextView
    Android:id="@+id/txtSubject"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:text="@string/subject"
    Android:layout_margin="10dp"
    Android:gravity="center"
    Android:textAppearance="?android:attr/textAppearanceLarge" />
9
Md. Naushad Alam

Comme beaucoup de réponses suggèrent ci-dessus, cela fonctionne bien.

Android:gravity="center"

Si vous voulez le centrer juste verticalement:

Android:gravity="center_vertical"

ou juste horizontalement:

Android:gravity="center_horizontal"
7
rgamber

Nous pouvons y parvenir avec ces multiples moyens: -

Méthode XML 01

<TextView  
    Android:id="@+id/textView"
    Android:layout_height="match_parent"
    Android:layout_width="wrap_content" 
    Android:gravity="center_vertical|center_horizontal"
    Android:text="@strings/text"
/>

Méthode XML 02

<TextView  
    Android:id="@+id/textView"
    Android:layout_height="match_parent"
    Android:layout_width="wrap_content" 
    Android:layout_centerHorizontal="true"
    Android:layout_centerVertical="true"
    Android:text="@strings/text"
/>

Méthode XML 03

<TextView  
    Android:id="@+id/textView"
    Android:layout_height="match_parent"
    Android:layout_width="wrap_content" 
    Android:gravity="center"
    Android:text="@strings/text"
/>

Méthode XML 04

<TextView  
    Android:id="@+id/textView"
    Android:layout_height="match_parent"
    Android:layout_width="wrap_content" 
    Android:layout_centerInParent="true"
    Android:text="@strings/text"
/>

Méthode Java 01

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

Méthode Java 02

textview.setGravity(Gravity.CENTER);

Méthode Java 03

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
6
ArghadipDasCEO

Vous pouvez faire comme ça pour que le texte soit centré

<TextView
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:gravity="center" />
6
Kamlakar Kate

Simplement, dans votre fichier XML, définissez la gravité textview sur le centre:

<TextView
    Android:gravity="center" />
6

La hauteur et la largeur de TextView sont des contenus intégrés, puis le texte dans la vue texte doit toujours être centré, puis centré dans sa mise en page parent à l'aide de:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerInParent="true"
        Android:text="Hello.."/>
</RelativeLayout>

Pour LinearLayout également le code est le même:

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:gravity="center">

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Hello.."/>
</LinearLayout>

et le parent de manière pro-grammaticale est RelativeLayout Java code ceci au moment de l'exécution, utilisez quelque chose comme ceci dans votre activité

TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
6
Attif

La gravité TextView fonctionne selon votre mise en page parent.

LinearLayout :

Si vous utilisez LinearLayout, vous trouverez deux attributs de gravité Android: gravité et Android: layout_gravity

Android: gravité: représente la disposition du texte interne de TextView alors qu'Android: layout_gravity: représente la position de TextView dans la vue parent.

enter image description here

Si vous voulez mettre le texte horizontalement et verticalement au centre, utilisez le code ci-dessous

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="300dp"
    Android:background="@Android:color/background_light"
    Android:layout_height="300dp">

    <TextView
        Android:layout_width="match_parent"
        Android:text="Hello World!"
        Android:gravity="center_horizontal"
        Android:layout_gravity="center_vertical"
        Android:layout_height="wrap_content"
    />
</LinearLayout>

RelativeLayout :

En utilisant RelativeLayout, vous pouvez utiliser la propriété ci-dessous dans TextView

Android: gravity = "center" pour le centre de texte dans TextView.

Android: gravity = "center_horizontal" texte intérieur si vous souhaitez centrer horizontalement.

Android: gravity = "center_vertical" texte interne si vous voulez centrer verticalement.

Android: layout_centerInParent = "true" si vous voulez que TextView soit au centre de la vue parent. Android: layout_centerHorizontal = "true" si vous voulez que TextView soit centré horizontalement au centre de la vue parente. Android: layout_centerVertical = "true" si vous voulez que TextView soit verticalement au centre de la vue parent.

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="300dp"
    Android:background="@Android:color/background_light"
    Android:layout_height="300dp">

    <TextView
        Android:layout_width="match_parent"
        Android:text="Hello World!"
        Android:gravity="center"
        Android:layout_centerInParent="true"
        Android:layout_height="wrap_content"
    />
</RelativeLayout>
5
Alpesh Sorathiya

Android:gravity="center_horizontal" pour aligner le texte Centrer horizontalement. Android:gravity="center_vertical" pour aligner le texte Centrer verticalement. Android:gravity="center" pour aligner le texte Centrer à la fois verticalement et horizontalement.

<TextView
        Android:layout_width="match_parent"
        Android:gravity="center_horizontal|center_vertical"
        Android:layout_height="match_parent" />
4
Anil

Essayez de cette façon, ça va marcher

<LinearLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:orientation="vertical"
    Android:gravity="center_horizontal|center_vertical">

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textAlignment="center" />

</LinearLayout>
4
Cunity

utilisez le code ci-dessous en xml cela a fonctionné pour moi, vous pouvez changer l'orientation il sera au centre

<LinearLayout
        Android:layout_width="match_parent"
        Android:orientation="horizontal"
        Android:background="@color/colorPrimaryDark"
        Android:gravity="center"
        Android:layout_height="wrap_content">
        <TextView
            Android:id="@+id/id_text"
            Android:layout_width="wrap_content"
            Android:textSize="18sp"
            Android:textColor="@Android:color/white"
            Android:textStyle="normal"
            Android:layout_height="wrap_content"
            Android:text="centre me"/>
    </LinearLayout>
3
koteswara D K

Je ne pense pas, vous devez vraiment faire cela simplement définir votre TextView dans un fichier de disposition comme ceci

<RelativeLayout
    Android:layout_width="width"
    Android:layout_height="height">
    <TextView
        Android:id="@+id/yourid"
        Android:layout_centerInParent="true"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Your text" />
</RelativeLayout>
3
Mansuu....
<TextView
Android:id="+@id/textView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center"
/>
2
Amey Haldankar
<TextView  
Android:layout_width="match_parent" 
Android:layout_height="match_parent" 
Android:gravity="center"
Android:text="In the center"/>

Ci-dessus, vous devez le définir à l'aide d'un fichier .xml.

mais je préfère la version Java, car vous pouvez également la désactiver dans le code en cours d'exécution si nécessaire. Voici le code Java.

textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
2
user9680608

Avez-vous essayé de cette façon?

<TextView
Android:id="+@id/txtVw"
Android:gravity="center"
/>
2
Ruben JG
 <Android.support.constraint.ConstraintLayout 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    xmlns:app="http://schemas.Android.com/apk/res-auto">


       <TextView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="HELLO"
            Android:textColor="@color/colorPrimaryDark"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"/>

 </Android.support.constraint.ConstraintLayout>
2
DEVSHK

center text

<LinearLayout
        Android:layout_width="match_parent"
        Android:orientation="vertical"
        Android:gravity="center"
        Android:layout_height="wrap_content">
    <TextView
            Android:id="@+id/failresults"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:layout_marginTop="3dp"
            Android:gravity="center_vertical|center_horizontal"
            Android:text=""
            Android:textSize="12sp" />
</LinearLayout>

si vous avez TextView dans linearlayout, vous devez régler la gravité au centre.

2
Muklas

Utilisez Android:textAlignment="center"

       <TextView
        Android:text="HOW WAS\nYOUR\nDAY?"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textAlignment="center"
        Android:id="@+id/textView5"
         />
2

Vous pouvez régler la gravité sur le centre vertical et l’alignement du texte sur le centre.

<TextView
     Android:text="@string/yourText"
     Android layout_height="wrap_content"
     Android layout_height="wrap_content"
     Android:gravity="center_vertical"
     Android:textAlignment="center" />
1
OkDroid

Via .xml la gravité du fichier peut être réglée au centre de la manière suivante

<TextView  
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent" 
    Android:gravity="center"
    Android:text="In the center"
/>

Via Java, voici comment vous pouvez résoudre votre problème particulier

textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
1
hyperCoder

Vous devez définir la gravité comme ceci:

(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
1
mohamad sheikhi

essaye ça :

<TextView  
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent" 
    Android:gravity="center"
/>
1
Bapusaheb Shinde

Si vous faites en sorte que la largeur et la hauteur de votre vue de texte soient adaptées au contenu, vous devez gérer sa position via la gravité de la présentation en fonction des attributs pris en charge par le parent. Sinon vous pouvez faire.

<TextView  
    Android:layout_width="match_parent" 
    Android:layout_height="match_parent" 
    Android:gravity="center"/> 
1
Rishabh Saxena

Utilisez Android:gravity="center" pour résoudre votre problème.

1
Praveen Gaur

Si vous travaillez avec RelativeLayout, essayez d’utiliser cette propriété dans la balise TextView:

Android:layout_centerInParent= true
1
Varun Jain

Disons Full Textview à l'écran

 <TextView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:text="Hello World!"
    Android:gravity="center"
    />

Disons que Textview (pas complet) dans la mise en page relative

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Hello World!"
    Android:layout_centerInParent=true
    />

Disons que Textview (non complet) dans Linear_layout

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Hello World!"
    Android:layout_gravity="centre"
    />
1
user8716106

Définissez l'attribut de gravité dans le fichier de mise en forme sur Android:gravity="center"

1
Himmat Gill

utiliser Android: gravity = "center" au parent

<LinearLayout
    Android:layout_width="200dp"
    Android:layout_height="200dp"

    Android:gravity="center"
    >
    <TextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:gravity="center"
        Android:text="Hello world"
        />
</LinearLayout>
0
TejpalBh

La largeur et la hauteur de la vue texte doivent être match_parent et ajouter Android: gravity = "center" dans vos attributs de vue texte.

0
Jocelin

Essaye ça:

Utilisation de LinearLayout si vous utilisez textview height et width match_parent Vous pouvez définir le texte de gravité sur center et alignement du texte sur center text horizontal si vous utilisez textview height et width wrap_content, puis ajouter un attribut centre de gravité dans votre LinearLayout.

code XML

<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">

<TextView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:textAlignment="center"
    Android:gravity="center"
    Android:textColor="#000"
    Android:textSize="30sp"
    Android:text="Welcome to Android" />
    </LinearLayout>

code Java

Vous pouvez faire une programmation comme ceci: -

(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

Je vous remercie

0
Android Geek

Comment centrer une vue ou son contenu, par exemple TextView ou Button horizontalement et verticalement? layout_gravity peut être utilisé pour positionner une vue au centre de son parent. Alors que l’attribut gravity est utilisé pour positionner le contenu de la vue, par ex. “Texte” au centre de la vue.

(1) Centrez TextView horizontalement

enter image description here

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
       Android:orientation="vertical"
       Android:layout_margin="10dp"
    tools:context=".MainActivity" >

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Hello World!"
        Android:layout_gravity="center"
        Android:background="#333"
        Android:textColor="#fff"
        />

</LinearLayout>

(2) Centrez TextView verticalement

Android: layout_gravity = "center_vertical" dose ne fonctionne pas !!

Pour centrer verticalement TextView, vous devez créer une astuce. Placez TextView dans RelativeLayout puis définissez l'attribut TextView Android: layout_centerInParent = "true" enter image description here

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
       Android:orientation="vertical"
       Android:layout_margin="10dp"
    tools:context=".MainActivity" >

    <TextView
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:text="Hello World!"
        Android:layout_centerInParent="true"
        Android:layout_gravity="center_vertical"
        Android:gravity="center"
        Android:background="#333"
        Android:textColor="#fff"
        />

</RelativeLayout>

(3) Centrer le texte horizontalement

Android: gravité = "center_horizontal"

enter image description here

(4) Centrer le texte horizontalement et verticalement

Android: gravity = "center", le texte sera centré horizontalement et verticalement

enter image description here

<TextView
    Android:layout_width="fill_parent"
    Android:layout_height="100dp"
    Android:text="Hello World!"
    Android:gravity="center"
    Android:background="#333"
    Android:textColor="#fff"
    />
0
Fenil Patel

Et pour ceux qui se demandent comment le centrer verticalement dans son élément TextView tout en le gardant à gauche (horizontalement):

Android:gravity="center"
Android:textAlignment="viewStart"
0
FlorianB

Dans ConstraintLayout pour n'importe quelle vue:

(Lorsque vous utilisez une présentation de contrainte, définissez height & width sur 0 et laissez la contrainte gérer les limites de la vue.)

<View
    Android:layout_width="0dp"
    Android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
0
itzhar

Utilisez la propriété Gravity dans TextView pour centrer le texte verticalement et horizontalement.

Android:gravity="center"
0
Aravinth
<TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textSize="25dp"
        Android:textStyle="bold"
        Android:textAppearance="?android:attr/textAppearanceMedium"
        Android:text="Tours"
        Android:id="@+id/textView" />
0
A.G.THAMAYS

Voici la solution.

<TextView  
       Android:layout_width="match_parent" 
       Android:layout_height="match_parent" 
       Android:gravity="center"
       Android:text="**Your String Value**" />
0
Jatin Mandanka

Essaye ça:

<TextView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:gravity="center" />
0
mohamad sheikhi
There are 2 ways to do this :

1. From Xml
     use :  
        <TextView
         .........
        Android:gravity="center"/>

2. From Java class
    use : 

     [textview].setGravity(Gravity.CENTER);
0
Heena Arora

Si les attributs hauteur/largeur de cette TextView ne sont pas définis sur wrap_content, utilisez simplement Android:gravity="center". Mais certaines personnes se plaignent que cela ne fonctionne pas. C'est parce que leur mise en page n'a pas la même gravité. Vous pouvez définir

Android:layout_gravity="center"IN THE TEXTVIEW (Ceci s'appliquera uniquement à TextView)

ou

Android:gravity="center"DANS LA DISPOSITION DES PARENTS (Ceci s'appliquera à toutes les vues à l'intérieur)

0

J'ai ajouté l'extrait de code XML pour créer un centre de visualisation de texte alliné à la fois en disposition linéaire et en disposition relative.

en disposition linéaire

<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text In Center"
Android:layout_gravity="center"
Android:gravity="center"/>

en mise en page relative

<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:text="Text In Center"
Android:layout_centerInParent= true/>
0
Thunder

Si vous n'avez qu'un seul fichier TextView dans votre fichier XML, vous pouvez définir la gravité de la vue parent comme centre. Cela créera votre élément enfant au centre de l'écran, ce qui vous permettra de faire en sorte que votre enfant soit visualisé sous forme d'enveloppe de hauteur et de largeur.

0
Rohit Patil

Vous pouvez le faire par programme dans Java avec: textview.setGravity (Gravity.CENTER);

0
Joshua Best

Vous pouvez centrer une vue texte avec Android: gravity = "center"

Le code va comme suit

    <TextView
     Android:text="@string/yourText"
     Android layout_height="wrap_content"
     Android layout_height="wrap_content"
     Android:gravity="center" />
0

Vous pouvez changerAndroid:gravity pour cela.

Android:gravity="center" ou

si vous voulez centrer horizontal ou vertical

Android:gravity="center_horizontal"

Android:gravity="center_vertical"

0
hash