Ich habe festgestellt, dass android:singleLine="true"
, wenn in der TextView Listitem in ListView verwendet, Scrollen sehr Laggy macht. Obwohl ich eine Alternative android:maxLines="1"
gefunden habe, bin ich sehr neugierig zu wissen, warum android:singleLine="true"
Scrollen sehr Laggy macht und auch wenn es laggy ist, warum Android immer noch das verwendet?Warum macht android: singleLine = "true" das ListView Scrollen sehr verzögert?
Antwort
Es scheint, dass diese 2 Funktionen tatsächlich nicht genau die gleichen Ergebnisse geben.
Nach einem interessanten Thema auf this blog von Radley Marx geschaffen wird singleLine
meist jetzt veralten, aber trotzdem in einigen Fällen sinnvoll sein, weil es nicht die Zeilenumbrüche betrachten und das Maximum von Text in der einzigen Zeile sammeln:
Der größte Vorteil ist, dass singleLine Zeilenumbrüche (\ n) ignorieren und den gesamten Text in einer Zeile platzieren, manchmal sogar Text zusammendrücken. MaxLines stört nicht.
Schließlich schließt er:
Obwohl single ist veraltet, es ist immer noch in den harten Einsatz in älteren Android-Apps auf dem alten Android-Handys, so dass es nicht wirklich vor sich geht weg. Aber es wurde lange aufgegeben und tendiert dazu, auf unerwartete Weise zu brechen. Verwenden Sie maxLines wann immer Sie können und singleLine nur wenn Sie müssen.
Dann, wenn Sie überprüfen Android Dokumentation über die beiden Methoden: singleLine und maxLines, können Sie sehen, dass die erste von einem Text behandelt wird TransformationMethod
, die erklären, würde ich raten, warum es viel langsamer als der zweite ist.
Warum funktioniert ellipsize = "end" nicht für Text, um es zu verkürzen (fügt nicht das ... zum Ende des Satzes hinzu), wenn minLines maxLines verwendet wird, funktioniert aber gut, wenn ich singleLine verwende? –
Ich benutze immer noch 'singleline', weil ich Wagenrücklauf ignorieren möchte, was' maxLine' nicht unterstützt. Es ist einfach idiotisch, das Verhalten zu ändern, wenn Methoden abgelehnt werden. –
In meinem Fall geben singleLine = true und maxLines = 1 unterschiedliche Ergebnisse. Nicht nur der erste fügt Ellipsize ("...") am Ende der Zeile hinzu. In meinem Fall wird auch requestLayout() in ListView nicht aufgerufen, aber die zweite Variante (maxLines = 1) ruft auf. Letzteres führt zu einigen Fehlern. Also, ich bevorzuge SingleLine. – CoolMind
- 1. Android benutzerdefinierte ListView sehr langsam beim Scrollen
- 2. android singleLine vs maxLines
- 3. Android Espresso listView scrollen zu
- 4. Android ListView nach oben scrollen
- 5. Android ListView stürzt beim Scrollen
- 6. ListView scrollen horizontal in android Studio
- 7. macht Android Listview Layout scrollbaren
- 8. Android Listview Bilder verschwinden beim Scrollen
- 9. Android Listview - Haltestelle ‚ganz‘ Reihe Position Scrollen
- 10. Android benutzerdefinierte listview load langsam beim scrollen
- 11. Wie erkennt man Android ListView Scrollen gestoppt?
- 12. android listview scrollen zu Anzahl der Listenelemente
- 13. Vorübergehende Umgehung ListView scrollen
- 14. Warum erhöht das Scrollen einer Listenansicht die Speichernutzung erheblich?
- 15. Colorbox macht das Leuchtkasten beim Scrollen
- 16. Implementieren Endlos scrollen auf ListView
- 17. Listview Scrollen UI Glitch
- 18. Android ListView Alpha-Scroller zum schnellen Scrollen langer Liste
- 19. ListView kann nicht scrollen
- 20. ListView Control lädt sehr langsam
- 21. Scrollen einer sehr großen GtkDrawingArea
- 22. Listview nicht scrollen innen ansicht flipper in android
- 23. Verzögert HostingEnvironment.QueueBackgroundWorkItem das Recycling wirklich?
- 24. Warum Promise.resolve(). Then() ist verzögert?
- 25. Warum verzögert `recover()` keine Panik?
- 26. Warum macht meine Regex das?
- 27. Android listview erzeugt beim Scrollen eine schwarze Hervorhebung über den Text. Wie kann man das stoppen?
- 28. Android ListView Elemente nach oben ohne Listenansicht scrollen
- 29. android: textIsSelectable = "true" für TextView in Listview funktioniert nicht
- 30. Versuchen Sie, ein Diagramm zu erstellen, das Daten mit der Zeit zu sehr verzögert verändert?
+1 für sehr interessante Frage – verybadalloc
das ist interessant, will das später sehen. – Milan