2012-05-21 16 views
7

Aplikacja Google Play prezentuje najlepsze listy różnych kategorii w sposób podobny do GridView (screenshot). Jestem prawie pewien, że nie jest to standardowy GridView, ponieważ kiedy przewijam całą drogę na dół, pokazuje on cały ekran "Ładowanie", co nie jest możliwe ze standardowymi widokami GridView według mojej wiedzy.W aplikacji Google Play w jaki sposób jest wyświetlana lista ViewGroup z listą najlepszych aplikacji?

Czy mogę znaleźć kod tego ViewGroup gdzieś? Jeśli nie, jaki byłby najlepszy sposób wdrożenia takiej ViewGroup? Zastanawiałem się nad obsługą tego z ListView, ale wymagałoby to dość niechlujnego adaptera, który umieszczałby wiele elementów listy w jednym wierszu, zgodnie z dostępną szerokością ekranu.

Odpowiedz

17

Aby odpowiedzieć na moje własne pytanie:

I zdemontowany Google Play i okazało się, że są one za pomocą prostych ListView tutaj, z BucketListAdapter. Ten adapter przedstawia elementy listy w sposób podobny do GridView, dzieląc je na kolumny. W ten sposób mogą również używać stopek i nagłówków list.

Zrobiłem własną implementację tego, jeśli ktoś jest zainteresowany, można go znaleźć tutaj: https://github.com/rzsombor/bucket-list-adapter. Nadal jednak działa w toku.

+0

Dziękujemy za otwarcie źródła kodu adaptera listy wiaderek. To naprawdę robi rzeczy zrobione i bardzo przydatne. Ale są problemy z optymalizacją. Adapter nie wykorzystuje recyklingu widoków. Nie używa również wzorca viewHolder. Jest więc bardzo prawdopodobne, że aplikacja wyłączy się z pamięci, jeśli liczba pozycji na liście wzrośnie. Ponadto renderowanie elementów jest bardzo powolne, a przewijanie nie jest zbyt płynne. Musimy nad tym popracować, aby ją zoptymalizować. –

Powiązane problemy