Richten Sie das Textzentrum auf Android aus


149

Ich weiß, dass es einfach klingt. Ich muss einen Text in die Mitte setzen, aber wenn der Text zu lang ist, muss er nach unten gehen, aber immer noch in der Mitte meiner XML-Datei ausgerichtet sein.

Hier ist mein Code:

 <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>

Ich habe paddingTop und Bottom gesetzt, weil ich etwas Platz brauche. PS: Mein Code ist größer. Es ist in einem RelativeLayout.


Hier haben Sie keinen
Textstil verwendet

Antworten:


380

Stellen Sie auch den android:gravityParameter TextViewauf ein center.

Zum Testen der Auswirkungen verschiedener Layoutparameter empfehle ich, für jedes Element eine andere Hintergrundfarbe zu verwenden, damit Sie sehen können, wie sich Ihr Layout mit Parametern wie Schwerkraft, layout_gravity oder anderen ändert.


Danke, es hat funktioniert, brauche nur etwas Zeit, um deine Antwort zu bestätigen!
Tsunaze

Ja das stimmt. Aber ich denke nur, wenn die TextView mehr als eine Zeile hat. Da mit nur 1 nicht vollständigen Textzeile die Textansicht das Layout nicht horizontal
ausfüllt

Sie können dies vermeiden, indem Sie TextViews Android einstellen: layout_width = "fill_parent"
peter.bartos

2
Nicht zu verwechseln android:layout_gravity. Doh! :)
Joshua Pinter


21

Verwenden Sie diesen Weg 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

Sie können Folgendes verwenden:

<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>

Das Layout muss relativ sein, damit die Eigenschaft "center" verwendet werden kann.


5

Das Hinzufügen android:gravity="center"in Ihrer Textansicht reicht aus (sei das übergeordnete Layout Relative/Linear)!

Außerdem sollten Sie die Verwendung von dp für die Schriftgröße vermeiden. Verwenden Sie stattdessen sp.


3

Fügen Sie Layout_gravity und Gravity mit dem Mittelpunkt in TextView hinzu

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

2

Fügen Sie einfach diese 2 Zeilen hinzu;

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

1
android:layout_gravity="center"

oder

android:gravity="center"

beides funktioniert bei mir.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.