2011-09-10 13 views

Odpowiedz

12

Może tego właśnie potrzebujesz. Wystarczy ustawić go false

setSmoothScrollbarEnabled

+0

Dzięki, przyczyni się to na chwilę. Ale nie gładki pasek przewijania nie jest taki fajny. Opóźnia się, a ja przewijam. Myślę, że to nie jest dobre, gdy zmienia się pasek przewijania, ale na rynku, na przykład w komentarzach, jest obecny. – jumper0k

7

Znalazłem w internecie na dlaczego tak się dzieje. Nie wiesz, dlaczego zdecydowałeś, że Google robi listy, które nie są nastawione na wzrost.

Jeśli ListView zawiera elementy o zmiennych wysokościach ListView nie ma możliwości dowiedzenia pełnej wysokości wszystkich elementów zawiera więc wysokość kciuka jest obliczana na podstawie liczby elementów w widoku, a liczba aktualnie widocznych elementów. Liczba aktualnie widocznych elementów jest różna, więc wysokość kciuka również się zmienia.

W systemie iOS składnik równoważny (UITableView) żąda wysokości wszystkich elementów od UITableViewDataSource przed wyświetleniem widoku, aby ogólny rozmiar kciuka był znany i zachowany spójny.

Max Howell, Last.fm deweloper
Why does the scroll bar change its length during scrolling?

+0

Aby móc poznać wysokość listy, należy utworzyć każdy przedmiot i zsumować jego wysokość. Ale tak się nie dzieje, elementy są tworzone w razie potrzeby (tylko na ekranie), więc nie ma sposobu, aby uzyskać wysokość. To nie jest doskonałe, ale jest to najbardziej skuteczny sposób pracy. (szczególnie z listą tysięcy przedmiotów). – AxelH

Powiązane problemy