Zauważyłem, że android:singleLine="true"
, jeśli jest używany w widoku Text Listitem w ListView, powoduje przewijanie bardzo laggy. Chociaż znalazłem alternatywę: android:maxLines="1"
, jestem bardzo ciekawy, dlaczego android:singleLine="true"
powoduje, że przewijanie jest bardzo opóźnione, a nawet jeśli jest opóźnione, dlaczego Android nadal używa tego?Dlaczego android: singleLine = "true" powoduje, że ListView przewija się bardzo lagged?
Odpowiedz
Wygląda na to, że te 2 funkcje faktycznie nie dają dokładnie takich samych wyników.
Według interesującego tematu utworzonego na this blog przez Radley Marksa singleLine
jest najczęściej przestarzałe teraz, ale nadal może być przydatna w niektórych przypadkach, ponieważ nie weźmie pod uwagę powrotu karetki i zebrać maksymalną ilość tekstu w jednej linii:
Największą zaletą jest to, że pojedynczy wiersz zignorowałby powrót karetki (\ n) i umieściłby cały tekst w jednym wierszu, czasem nawet ściskając tekst. MaxLines nie przejmuje się.
Wreszcie podsumowuje:
Chociaż SingleLine jest przestarzała, to wciąż w ciężkim zastosowania w starszych aplikacjach na Androida starych telefonów z systemem Android, więc to naprawdę nie odchodzi. Został jednak od dawna porzucony i ma tendencje do łamania się w nieoczekiwany sposób. Użyj maxLines kiedy tylko możesz i singleLine tylko wtedy, gdy musisz.
Następnie sprawdzając dokumentację Android o obu metod: singleLine i maxLines, można zobaczyć, że pierwszy z nich jest obsługiwany przez tekstu TransformationMethod
To wyjaśniałoby, dlaczego myślę, że to jest o wiele wolniej niż drugi.
Dlaczego ellipsize = "end" nie działa dla jakiegoś tekstu, aby go skrócić (nie dodaje ... do końca zdania) podczas korzystania z maxLines minLines, ale działa dobrze, gdy użyłem singleLine? –
Nadal używam 'singleline', ponieważ chcę zignorować powrót karetki, którego' maxLine' nie obsługuje. To jest idiotyczne zmienić zachowanie podczas wycofywania metod. –
W moim przypadku singleLine = true i maxLines = 1 dają różne wyniki. Nie tylko pierwszy dodaje ellipsize ("...") na końcu linii. W moim przypadku nie wywołuje on również requestLayout() w ListView, ale wywołuje drugi wariant (maxLines = 1). To ostatnie prowadzi do pewnych błędów. Więc wolę singleLine. – CoolMind
- 1. ListView nie przewija się
- 2. PopupMenu kliknięcie powoduje, że RecyclerView przewija
- 3. Immediate = "true" powoduje, że aktualizacja = "komponent" kończy się niepowodzeniem
- 4. Android niestandardowy listview bardzo powolny podczas przewijania
- 5. Android MediaPlayer getCurrentPosition() powoduje, że dźwięk się zacina
- 6. Android - ListView ze zdjęciami przewija się zbyt wolno, nawet bez przetwarzania w metodzie getView adaptera
- 7. Jak wykryć, że funkcja UIScrollView przewija się lub przesuwa się?
- 8. Łączenie grup powoduje, że IQueryable zmienia się w IEnumerable, dlaczego?
- 9. Elementy listview usuwają bitmapy z pamięci, gdy użytkownik przewija
- 10. Więc marquee nie będzie działać bez przestarzałej singleLine = "true"?
- 11. UITableView contentInset powoduje, że widok tabeli przewija się w poziomie oprócz pionowego
- 12. Dlaczego TemplateHaskell powoduje, że GHC ładuje pakiety?
- 13. Chrome 61 body nie przewija się
- 14. Dlaczego zerowy bajtowy plik app.config powoduje bardzo dziwny błąd?
- 15. android: singleLine z TextView nie jest dłuższy w "Przestarzałym"?
- 16. Zagnieżdżony widok z przeglądarką Android nie przewija się
- 17. Android Listview Pływający pierwszym rzędzie
- 18. Dlaczego metoda dekorowana ClassInitialize powoduje, że wszystkie moje testy zawodzą?
- 19. Dlaczego użycie threading.Event powoduje, że SIGTERM nie zostanie przechwycony?
- 20. ng-include powoduje, że blok kontrolera ponownie wyświetla się
- 21. Android: stopka w ListView
- 22. Android SeekBar setProgress powoduje, że mój MediaPlayer pomija numer
- 23. Android: Vertical ListView z nakładające się rzędy
- 24. Android ListView Live Aktualizacja
- 25. Dlaczego $ httpbackend.flush powoduje, że mój $ scope. $ Watch uruchamia się w nieskończoność?
- 26. Dlaczego Windows LookAndFeel powoduje, że czcionki są zbyt małe?
- 27. Android, SlidingPaneLayout i listView
- 28. Android ScrollView nie przewija się po podniesieniu klawiatury
- 29. Przewijanie w Visual Studio powoduje, że tekst staje się nieczytelny
- 30. Android SearchView Filter ListView
+1 za bardzo interesujące pytanie – verybadalloc
To interesujące, chcę zobaczyć to później. – Milan