allinea il centro di testo con Android


150

So che sembra facile. Ho bisogno di mettere un testo al centro, ma quando il testo è troppo lungo deve andare sotto, ma comunque allinearlo al centro del mio XML.

Ecco il mio codice:

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

Ho messo il padding Top and Bottom perché ho bisogno di spazio. PS: il mio codice è più grande; è in un RelativeLayout.


Qui non hai usato nessuno stile di testo
Dinith,

Risposte:


381

Impostare anche il android:gravityparametro su TextViewsu center.

Per testare gli effetti di diversi parametri di layout, consiglio di usare un colore di sfondo diverso per ogni elemento, in modo da poter vedere come cambia il layout con parametri come gravità, layout_gravity o altri.


Grazie, ha funzionato, ho solo bisogno di un po 'di tempo per convalidare la tua risposta!
Tsunaze,

Sì è vero. Ma penso solo se TextView ha più di una riga. Perché con solo 1 riga di testo non completa, TextView non riempirà il layout in orizzontale
peter.bartos,

Puoi evitarlo impostando Android di TextView: layout_width = "fill_parent"
peter.bartos,

2
Da non confondere android:layout_gravity. Doh! :)
Joshua Pinter,


21

utilizzare in questo modo in xml

   <TextView
        android:id="@+id/myText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Time is precious, so love now."
        android:gravity="center"
        android:textSize="30dp"
        android:textColor="#fff"
        />

7

È possibile utilizzare quanto segue:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">

 <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Your text"
        android:typeface="serif" />
</LinearLayout>

Il layout deve essere relativo per la proprietà "center" da utilizzare.


5

L'aggiunta android:gravity="center"in TextView farà il trucco (sia il layout principale Relative/Linear)!

Inoltre, dovresti evitare di usare dp per la dimensione del carattere. Usa invece sp.


3

aggiungi layout_gravity e gravità con valore centrale su TextView

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />

2

Aggiungi queste 2 righe;

android:gravity="center_horizontal"
android:textAlignment="center"

1
android:layout_gravity="center"

o

android:gravity="center"

entrambi funzionano per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.