Ich habe eine TextView
, die ich Zeichen davon einschränken möchte. Eigentlich kann ich das tun, aber ich suche nach drei Punkten (...) am Ende der Zeichenfolge. Dieser zeigt, dass der Text fortgesetzt wurde. Dies ist mein XML, aber es gibt keine Punkte, obwohl es meinen Text einschränkt.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
singleLine
? Siehe auch: Ist das XML-Attribut singleLine in Android veraltet oder nicht?Folgendes habe ich gelernt, indem ich mit verschiedenen Optionen herumgespielt habe, um a
TextView
in eine einzelne Zeile zu zwingen (mit und ohne die drei Punkte).android: maxLines = "1"
Dadurch wird der Text nur in eine Zeile gezwungen. Jeder zusätzliche Text wird ausgeblendet.
Verbunden:
ellipsize = "end"
Dadurch wird der nicht passende Text abgeschnitten, der Benutzer wird jedoch durch Hinzufügen eines Auslassungszeichens (der drei Punkte) darauf hingewiesen, dass der Text abgeschnitten wurde.
Verbunden:
ellipsize = "Festzelt"
Dadurch wird der Text automatisch über die Textansicht gescrollt. Beachten Sie, dass es manchmal im Code festgelegt werden muss:
Angeblich
android:maxLines="1"
undandroid:singleLine="true"
sollte im Grunde das Gleiche tun und da singleLine anscheinend veraltet ist, würde ich es vorziehen, es nicht zu verwenden, aber wenn ich es herausnehme, scrollt das Festzelt nicht mehr. Das HerausnehmenmaxLines
hat jedoch keinen Einfluss darauf.Verbunden:
HorizontalScrollView mit scrollHorizontally
Auf diese Weise kann der Benutzer manuell scrollen, um die gesamte Textzeile anzuzeigen.
quelle
Probieren Sie diese Eigenschaft von TextView in Ihrer Layoutdatei aus.
quelle
Ich nehme an, Sie möchten die Breite auf eine Zeile beschränken und nicht auf Zeichen beschränken? Da dies
singleLine
veraltet ist, können Sie Folgendes zusammen verwenden:quelle
z.B. Sie können verwenden
Dadurch wird die Texview-Länge auf 13 begrenzt. Wenn Sie jedoch versuchen, 3 Punkte (...) hinzuzufügen, wird diese nicht angezeigt, da sie Teil der Textview-Länge ist.
ansonsten muss man verwenden
quelle
Verwenden
android:singleLine="true"
android:maxLines="1"
app:layout_constrainedWidth="true"
So sieht mein volles
TextView
aus:quelle
Ich verwende Horizonal Recyclerview.
1) Hier in CardView wird TextView bei Verwendung vertikal verzerrt
Überprüfen Sie die fett gedruckten TextViews Wyman Group, Jaskolski ...
2) Aber als ich singleLine zusammen mit ellipsize verwendet habe -
Überprüfen Sie die fett gedruckten TextViews Wyman Group, Jaskolski ...
Die 2. Lösung hat bei mir richtig funktioniert (mit singleLine). Außerdem habe ich in OS-Version 4.1 und höher (bis 8.0) getestet, es funktioniert gut ohne Abstürze.
quelle
Code:
xml:
z.B
In Matthäus 13 fragten die Jünger Jesus, warum er in Gleichnissen zu den Menschenmengen sprach. Er antwortete: "Es ist dir gegeben worden, die Geheimnisse des Himmelreichs zu kennen, aber ihnen ist es nicht gegeben worden."
Ausgabe: In Matthäus 13 fragten die Jünger Jesus, warum er in Gleichnissen zu den Menschenmengen sprach. Er antwortete: "Es wurde dir gegeben zu wissen ...
quelle
Ich habe das gewünschte Ergebnis mit
Der Trick ist, maxLines und minLines auf den gleichen Wert zu setzen ... und nicht nur android: lines = "2", mache den Trick nicht. Außerdem vermeiden Sie veraltete Attribute.
quelle
Sie müssen Ihrem Layout folgende Zeilen für die Textansicht hinzufügen
Hoffe das funktioniert bei dir.
quelle
Sie können die Anzahl der Zeichen in Ihrer Textansicht begrenzen und nach dem Text (...) hinzufügen. Angenommen, Sie müssen nur 5 Buchstaben anzeigen und danach müssen Sie (...) anzeigen. Gehen Sie einfach wie folgt vor:
ein kleiner Hack ^ _ ^. Obwohl es keine gute Lösung ist. Aber eine Arbeit, die für mich funktioniert hat: D.
BEARBEITEN: Ich habe die Prüfung auf weniger Zeichen gemäß Ihrer begrenzten Nr. Hinzugefügt. von Zeichen.
quelle
Um die Arbeit mit dem Android: ellipsize Attribute haben Sie die begrenzen Layoutbreite des Textview , so dass der Text aus der Sicht der Textview außerhalb der Grenzen ist.
Also, android: layout_width Attribut spielt eine wichtige Rolle, sie entsprechend eingestellt.
Ein Beispiel kann sein:
Nun, hier , wenn der Text in Android: text = „Dies ist ein sehr langer Text angezeigt wird“ geht aus der Sicht von Textview mit einem android: layout_width = „120dp“ , android: ellipsize = „end“ wird den gestutzt Text und platziere ... (3 Punkte) danach. dh das ist sehr lang ... wird in der Textansicht angezeigt.
quelle
Ich denke, Sie geben feste Höhe und Breite der Textansicht. Dann wird Ihre Lösung funktionieren.
quelle
Sie können diese Zeile in XML schreiben, wo Sie Folgendes nehmen
textview
:quelle
Der Ansatz von @AzharShaikh funktioniert gut.
Ich stelle jedoch fest, dass TextView (standardmäßig) wortweise abgeschnitten wird. Zeigen Sie, ob wir einen Text haben wie:
teste long_line_without_any_space_abcdefgh
Die Textansicht zeigt Folgendes an:
Prüfung...
Und ich habe eine Lösung gefunden, um dieses Problem zu lösen. Ersetzen Sie Leerzeichen durch das Unicode-Leerzeichen ohne Unterbrechung. Dadurch wird TextView Zeichen anstelle von Wörtern umbrechen:
Das Ergebnis:
test long_line_without_any_space_abc ...
quelle
quelle
Fügen Sie diese beiden Zeilen in Ihren Text ein
quelle
Sie können das tun durch
xml
:quelle
Dots
@ end mitmaxLength="35"
Eigenschaft eine Lösung setzen?Du änderst dich einfach ...
Verwenden Sie diese folgende Zeile
....... .......
quelle