Ich möchte eine TextView, die in 4 Zeilen aufgeteilt werden soll. Für z.
Vishal Vyas
Having
342
Reputation
Beachten Sie, dass die Schwerkraft center_horizontal
sein sollte.
Ich habe folgendes versucht:
<TextView
Android:gravity="center_horizontal"
Android:id="@+id/lblUserRep"
Android:layout_width="70dp"
Android:layout_height="wrap_content"
Android:lines="4"
Android:maxLines="4"
Android:text="VishalVyas Having 342 Reputation" >
</TextView>
Das funktioniert! erzeugt aber folgende Ausgabe:
VishalVyas
Having
342
Reputation
Probleme:
Android:layout_width="70dp"
ist harcodiert und es kann ein beliebiger Name mit n Zeichenanzahl anstelle von VishalVyas
vorhanden sein.Bitte beraten.
Hinzugefügt: Es wäre gut, wenn ich einen benutzerdefinierten TextView
schreiben muss, um dies zu erreichen, aber ich brauche ein paar Anleitungen.
Danke im Voraus.
Ich denke, es ist verpackt, weil "Vishal Vyas" über 70 dB hinausgeht. Verwenden Sie stattdessen wrap_content
für die Breite und verwenden Sie Zeilenumbrüche anstelle von Zeilenumbrüchen (d. H. "Vishal Vyas\n342\nReputation").
Sie sollten in der Lage sein, das Zeilenvorschubzeichen \n
einzufügen, um zu steuern, wohin die Aufteilungen gehen. Wenn Sie dies getan haben, können Sie Ihre TextView
breiter erweitern, sodass ein längerer Benutzername verwendet werden kann, der jedoch an der richtigen Stelle unterbrochen wird.
Android:lines="2"
Android:minLines="2"
Android:singleLine="false"
Selbst wenn Android Studio warnt, dass Android:singleLine=false
veraltet ist, behalten Sie es und Sie können je nach Länge des Textes die gewünschte Anzahl von Zeilen für ihr Textfeld festlegen
Ich habe es so gemacht:
Der Container von TextView:
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Die Textansicht:
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Dann,
Der Text der Textansicht wurde in zwei Zeilen oder mehr angezeigt ...