2325 Stimmen

Wie zentriere ich Text horizontal und vertikal in einer TextView?

Wie zentriere ich den Text horizontal und vertikal in einer TextView so dass es genau in der Mitte des Bildes erscheint. TextView in Android ?

15 Stimmen

Sowohl layout_width als auch layout_height auf fill_parent setzen, dann gravity auf center setzen. Das wird den Trick machen

5 Stimmen

Fill_parent ist jetzt veraltet, also verwenden Sie MATCH_PARENT in layout_width und layout_height und setzen Sie die Schwerkraft des TextViews auf Zentrum.

33voto

Karthikeyan Punkte 1089

Für lineares Layout: In XML verwenden Sie etwas wie dieses

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

Um dies zur Laufzeit zu tun, verwenden Sie in Ihrer Aktivität etwas wie das Folgende

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

Für relatives Layout: in XML verwenden Sie etwas wie dieses

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

Um dies zur Laufzeit zu tun, verwenden Sie in Ihrer Aktivität etwas wie das Folgende

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

25voto

venu Punkte 2891

Verwendung in der XML-Datei.

Layout-Datei

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

oder:

Verwenden Sie dies innerhalb der Java-Klasse

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

22voto

Verwenden Sie dies für das relative Layout

android:layout_centerInParent="true"

und für andere Layouts

android:gravity="center"

17voto

noob Punkte 18277

Während die Verwendung von Gravitation für TextView funktioniert, gibt es eine alternative Methode, die in API Level 17 implementiert ist -

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

Ich kenne den Unterschied nicht, aber es funktioniert auch. Allerdings nur für API-Level 17 oder höher.

0 Stimmen

Der Unterschied wird hier beschrieben: stackoverflow.com/questions/16196444/

0 Stimmen

Dadurch wird der Text in der TextView wirklich zentriert. Wenn Sie nur die Schwerkraft verwenden, gibt es ein wenig nachlaufende Polsterung, je nachdem, was der Text ist .... Wenn Sie beispielsweise ein kleines kreisförmiges Abzeichen mit Text in der Mitte haben, können Sie einen sehr deutlichen Unterschied sehen.

14voto

Yuda Prawira Punkte 10895

En RelativeLayout wird es schön mit ihm sein.

Und eine weitere Button und alles, was Sie sonst noch hinzufügen können.

Das Folgende funktioniert für mich gut.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X