Android Ellipse mehrzeilige Textansicht
Muss ich ellipsize eine multi-Zeile textview. Meine Komponente ist groß genug für die Anzeige mindestens 4 Zeilen mit der ellipse, aber nur 2 Zeilen angezeigt. Ich habe versucht, ändern Sie die minimale und maximale Anzahl der Zeilen der Komponente, aber es ändert sich nichts.
InformationsquelleAutor der Frage Arutha | 2010-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Lösung für das problem. Es ist eine Unterklasse von TextView, die tatsächlich funktioniert für ellipsizing. Die android-textview-multiline-ellipse-code aufgeführt, die in einer früheren Antwort habe ich gefunden buggy sein in bestimmten Umständen, sowie unter der GPL, die nicht wirklich Arbeit für die meisten von uns. Fühlen Sie sich frei, um diesen code zu verwenden, der frei und ohne Namensnennung oder unter der Apache-Lizenz, wenn Sie bevorzugen würden. Beachten Sie, dass es einen listener zu Benachrichtigen Sie, wenn der text zum ellipsized, das fand ich ganz nützlich, mich.
InformationsquelleAutor der Antwort Micah Hainline
In meiner app, ich hatte ähnliches problem: 2 Linie der Zeichenfolge, und, schließlich, fügen Sie "...", wenn der string zu lang war.
Ich habe diesen code in der xml-Datei in textview tag:
InformationsquelleAutor der Antwort hooloovoo
Habe ich dieses problem auch. Es ist ein ziemlich Alter Fehler über ihn, die unbeantwortet bleibt: Fehler 2254
InformationsquelleAutor der Antwort Robert Nekic
Versuchen Sie dieses, es funktioniert für mich, ich habe 4 Zeilen und fügt "..." an das Ende des letzten/vierten Zeile. Es ist die gleiche wie Moral Antwort, aber ich habe singeLine="false" drin.
InformationsquelleAutor der Antwort Lysogen
Habe dieses problem, und schließlich Baue ich mir eine kurze Lösung.
Sie müssen nur ellipsize manuell die Zeile, die Sie wollen, Ihre maxLine-Attribut wird schneiden Sie Ihre text.
Diesem Beispiel schneiden Sie Ihren text für die 3 Zeilen max
InformationsquelleAutor der Antwort Percuss
Basierend auf Lösungen von Micha Hainline und alebs Kommentar, ich kam mit dem folgenden Ansatz, der arbeitet mit Übergreifenden Texte, so dass z.B.
myTextView.setText(Html.fromHtml("<b>Testheader</b> - Testcontent"));
funktioniert!Beachten Sie, dass dies funktioniert nur mit
Spanned
jetzt. Es könnte vielleicht geändert werden, um die Arbeit mitString
undSpanned
oder so.InformationsquelleAutor der Antwort Till
Für diejenigen, die interessiert sind, hier ist ein C# Xamarin.Android-port von Micha ' s schöne Lösung:
InformationsquelleAutor der Antwort Kirk Woll
In meinem Fall, gibt es keine Notwendigkeit, code this in Java. Alles funktioniert wie erwartet. Keine Notwendigkeit für so etwas wie
android:singleLine="false"
.Aber es scheint ein Fehler in der layout-Vorschau von Android Studio (v3.0):
Gegeben Android 7.1.1 auf meinem Gerät funktionieren:
InformationsquelleAutor der Antwort Timo Bähr
Fügen Sie einfach code in Ihre Tätigkeit
dies fügt Auslassungspunkte am Ende der textview
InformationsquelleAutor der Antwort Amrut
Gibt es nichts, das funktioniert out of the box. Aber man konnte einen Blick auf diese
http://code.google.com/p/android-textview-multiline-ellipse/
und es an Ihre Bedürfnisse anpassen.
InformationsquelleAutor der Antwort Manfred Moser
Code funktioniert sehr gut! Sie können überlastung onSizeChanged Methode, wenn nicht nur der Text Geändert werden.
InformationsquelleAutor der Antwort user1129490
Erweitern TextView und diese Methoden überschreiben:
InformationsquelleAutor der Antwort sentythee
Dies ist meine Lösung. herunterladen können Sie die demo auf meiner github.
https://github.com/krossford/KrossLib/tree/master/android-project
Dieser screenshot war ein demo, dass
maxLines = 4
ich denke, es funktioniert gut.InformationsquelleAutor der Antwort Kross
Hinzufügen
...
am Ende der zweiten Zeile eine Einsparung von 1 Zeile, wenn der text kurz ist:InformationsquelleAutor der Antwort Igor SKRYL
Habe ich das gleiche Problem hatte. Ich behoben, indem man einfach löschen android:ellipsize="marquee"
InformationsquelleAutor der Antwort TianDong
Dieser man behandelt meine html als auch,
Orignal Quelle LINK
InformationsquelleAutor der Antwort Samuel
Versuchen umzusetzen diese Weise
scrollHorizontally ist der Schlüssel zu
...
InformationsquelleAutor der Antwort Rishabh Dutt Sharma
Die top-Antwort hier von Micha Hainline funktioniert Super, aber noch besser ist die Bibliothek, die erstellt wurde, indem Sie den Benutzer aleb, wie er geschrieben in den Kommentaren unter Micahs Antwort:
Gibt es einige weitere Funktionen, die es, wenn Sie nur das TextView, es ist hier.
Vielleicht wird dies helfen, andere finden es schneller als ich 🙂
InformationsquelleAutor der Antwort Björn Kechel
Dies ist zu spät, aber ich fand eine Apache-lizenzierte Klasse von Android, die sich auch in der stock-mail-app: https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/184ec73/src/com/android/mail/ui/EllipsizedMultilineTextView.java
InformationsquelleAutor der Antwort Parker
Gibt es ein paar Attribute Sie sollten check: android:Linien, android:minLines, android:maxLines. Zur Anzeige von maximal 4 Zeilen und ellipsize es, Sie brauchen nur android:maxLines und android:ellipsize:
InformationsquelleAutor der Antwort moraes
Müssen Sie diese in Ihrem textview:
standardmäßig richtig sein. Sie müssen explizit den Wert false.
InformationsquelleAutor der Antwort Lysogen