web-dev-qa-db-fra.com

TextView au centre de l'écran

Duplicata possible:
Comment centrer le texte horizontalement et verticalement dans une TextView sous Android?

J'ai un RelativeLayout (avant c'était un LinerLayout), qui occupe tout l'écran et je veux mettre au centre de ce Layout, un TextView. J'essaie de le faire avec gravity = "center"layout_gravity = "center" et quelques autres, mais cela ne fonctionne pas.

Quelqu'un sait comment centrer le TextView au milieu de l'écran?

[~ # ~] modifier [~ # ~]

D'accord, je pense que j'ai mal expliqué. Je pense que le TextView est au centre, mais ce que je veux centrer c'est le texte dans le TextView. Puis-je faire ceci?

29
Mun0n

Si la taille de votre police est suffisamment grande, il peut sembler qu'elle n'est pas centrée, en raison du remplissage de la police.
Essayez d'utiliser les propriétés déjà mentionnées combinées avec Android:includeFontPadding, quelque chose comme ça:

    Android:gravity="center"
    Android:includeFontPadding="false"
62
mdelolmo

Si vous souhaitez aligner le contenu de RelativeLayout au centre, vous devez mettre Android: gravity = "center" dans les propriétés de RelativeLayout. Vous trouverez ci-dessous un exemple de code XML avec sa représentation visuelle.

Code XML:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:gravity="center"
    Android:background="@color/white">

        <TextView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="My Text View"
            Android:textColor="@color/black"
            Android:textSize="25dp"
            Android:textStyle="bold" />
</RelativeLayout>

Disposition graphique:

enter image description here

17

Essayez Android:layout_centerInParent="true" ou Android:layout_centerHorizontal="true" ceux-ci s'appliquent à RelativeLayout

15
Rotemmiz

Vous pouvez également définir la gravité = "centre" de son parent.

2
deepak Sharma
Android:gravity="center" 

fonctionne uniquement sur RelativeLayouts. Alors essayez

<TextView
        Android:id="@+id/title"
        Android:layout_width="fill_parent" <!--relative Layout-->
        Android:layout_height="wrap_content"
        Android:gravity="center"
        Android:text="Mint Payments"/>
1
gsb

Alternativement, tiré de n autre poste

<TextView  
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent" 
    Android:gravity="center_vertical|center_horizontal"
    Android:text="@string/**yourtextstring**" />
1
Orkun Ozen
    <RelativeLayout
    Android:gravity="center"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content" >
     <TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Txt is aligned in Center" />
   </RelativeLayout>
0
VenomVendor

Cela devrait s'afficher au centre de l'écran avec le centre aligné. Si vous souhaitez aligner le texte, vous pouvez utiliser Android: gravity = "right" ou Android: gravity = "left"

     <RelativeLayout
                xmlns:Android="http://schemas.Android.com/apk/res/Android"
                Android:layout_width="fill_parent"
                Android:layout_height="wrap_content"
                Android:orientation="horizontal">

                <TextView
                    Android:id="@+id/textView"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:layout_centerInParent="true"
                    Android:gravity="center" 
                    Android:text="This is some text" />    
    </RelativeLayout>
0
dcanh121