Ich habe eine TextView, in die ich eine Nachricht laden muss. Die TextView hat maximal 2 Zeilen ( android:lines="2"
). Die Nachricht kann einen ' \n ' Zeichen.
Wie sollte ich die Nachricht in dieser TextView laden, so dass Wörter umbrochen werden und wenn in diesen 2 Zeilen Nachricht nicht passt, am Ende des letzten sichtbaren Wortes muss ich drei Punkte (...) hinzufügen? Wie kann ich die Länge des Textes erkennen, der in die TextView passt?
Mein Code für TextView lautet
<TextView
a:id="@+id/tv_message"
a:gravity="top"
a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:layout_alignParentTop="true"
a:layout_toRightOf="@id/iv_icon"
a:layout_marginLeft="2dp"
a:layout_marginTop="4dp"
a:paddingRight="7dp"
a:paddingBottom="5dp"
a:textSize="12sp"
a:typeface="sans"
a:ellipsize="marquee"
a:lines="2"
a:maxLines="2"
a:textColor="@android:color/black"
/>
In der Anwendung erscheint der Text jedoch in zwei Zeilen, auch wenn es eine Zeile mit der Unterschrift gibt. Die Meldung lautet wie folgt: "Nachrichtentext" + " \nSignature "aber die Nachricht kann 1, 2 oder 3 Zeilen lang sein, je nach Länge der Nachricht.
0 Stimmen
Warum müssen Sie die Länge des Textes kennen? Sie kann bei verschiedenen Bildschirmgrößen variieren, es sei denn, Sie definieren eine feste Breite für die TextView.
0 Stimmen
Mein Problem ist, dass ich nicht weiß, wie ich 3 Punkte am Ende des letzten sichtbaren Wortes hinzufügen kann. Android:ellipsize="end" und Android:ellipsize="marquee" helfen nicht.... also dachte ich, dass ich nicht den gesamten Text in die Textansicht einfüge, sondern nur den Text, der in die Textansicht passt
0 Stimmen
Können Sie den Code für die TextView posten, die Sie jetzt verwenden? vielleicht gibt es andere Eigenschaften, die verhindern, dass die Ellipsengröße ein zu funktioniert.