it-swarm.com.de

Wie zentriere ich einen zweizeiligen Text in einer Textansicht unter Android?

Ich möchte es so aussehen lassen:

|    two    |
|   lines   |

Hier ist das aktuelle Layout, das überhaupt nicht funktioniert.

<RelativeLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:gravity="center_vertical">
    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="two\nlines"
        Android:layout_gravity="center_vertical"
        Android:layout_centerInParent="true"/>
</RelativeLayout>

Irgendeine Idee? Danke!

68
shiami

Wenn Sie es nur zentrieren möchten (ich gehe davon aus, dass \n die Zeilen aufteilt), fügen Sie Android:gravity="center_horizontal" statt layout_gravity hinzu.
Mit Hilfe der Layout-Schwerkraft wird die eigentliche TextView verschoben, wobei die Schwerkraft Auswirkungen auf content der TextView hat.

200
kcoppock

Musste gravity und layout_gravity hinzufügen, um sowohl TextView als auch deren Inhalt auszurichten

Android:gravity="center_horizontal"
Android:layout_gravity="center_horizontal"
12
kishor.j

wenn Ihre Breite wrap_content ist, müssen Sie Schwerkraft und Layout_gravity als "center_horizontal" einstellen.

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="two\nlines"
    Android:layout_gravity="center_horizontal"
    Android:gravity="center_horizontal"/>

Wenn Ihre Breite jedoch "match_parent" ist, müssen Sie nur die Schwerkraft als "center_horizontal" einstellen.

<TextView
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:text="two\nlines"
    Android:gravity="center_horizontal"/>

Ich hoffe es hilft!

3
Shivam

Sie können verwenden:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
2
Dleelk4android

Ich denke, Sie müssen es von Java aus tun:

<RelativeLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:gravity="center_vertical">
    <TextView
        Android:id="@+id/the_text_view"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="center_vertical"
        Android:layout_centerInParent="true"/>
</RelativeLayout>

Dann:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two<br/>lines"));
1
Cristian

Ich benutze:

Android:gravity="center_horizontal"

zweizeiligen Text zentrieren

0
Dea Venditama