Wie zentriere ich einen Zwei-Zeilen-Text in einer Textansicht über Android?
-
24-10-2019 - |
Frage
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? Vielen Dank!
Lösung
Wenn Sie es nur zentrieren möchten (ich nehme das an, das \n
arbeitet daran, die Zeilen zu teilen), einfach hinzufügen android:gravity="center_horizontal"
statt layout_gravity
.
Die Verwendung von Layout -Schwerkraft bewegt die tatsächliche Textansicht und wirkt sich auf die Schwerkraft aus Inhalt des Textviews.
Andere Tipps
Musste beide hinzufügen gravity
und layout_gravity
beide ausrichten TextView
und sein Inhalt
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
Wenn Ihre Breite Wrap_Content ist, müssen Sie sowohl die 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!
Sie können verwenden:
TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
Ich denke, Sie müssen es von Java 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"));
Ich benutze:
android:gravity="center_horizontal"
zum Zentrum von zwei Zeilentext
Eigenschaft hinzufügen
android:lines="2"
wobei 2 keine Linien sind, können Sie dieses Nein als Ihre Anforderung festlegen