2012-03-27 11 views
14

Chciałbym zaimplementować gridview stylu gridview (patrz obraz) i mam trudności wymyślanie podejścia.ListView w stylu Pinterest lub gridview w Androidzie

Widok musi mieć 3 kolumny (np. Pinterest) z pojedynczymi obrazami o stałej szerokości, ale o zmiennej wysokości. Powinien być przewijany. Jestem również zaniepokojony kwestią możliwości recyklingu wyświetleń, ponieważ liczba obrazów może być dużo (powiedzmy 1000)

Nie jestem pewien, jak podejść do tego widoku w systemie Android.

Gaurav

Pinterest View

Odpowiedz

3

chciałbym zrobić to w ten sposób:

ScrollView 
    LinearLayout (horizontal) 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 1] 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 2] 
    LinearLayout (vertical, layout weight for width) 
     [All the content in column 3] 

Zastosowanie leniwy załadunku na zdjęciach, jeśli istnieją tysiące

+4

Leniwe ładowanie obrazów nie jest problemem. Bardziej zależy mi na recyklingu obrazów umieszczonych w trzech liniowych układach. – rOrlig

+1

Próbowałem tego podejścia z leniwym ładowaniem i nie działa dobrze prawdopodobnie ze względu na nie przetwarzanie widoków obrazu. – rOrlig

+1

Hmm. Domyślam się, że jeśli ładujesz tyle zdjęć, możesz usunąć widoki na początku i dodać więcej widoków do końca podczas przewijania. – AJcodez

5

nigdy nie myślałem o tym, dopóki nie przyniósł to, ale jest to interesujący problem, aby spróbować rozwiązać. Moja sugestia to dopasowanie 3 ListView do aktywności lub fragmentu. Zakładam, że każdy z nich ponownie przetwarza swój własny widok. To rozwiązuje twoją wydajność dość łatwo, zakładając, że jest to bezpieczne. Więc może poziomy LinearLayout, który posiada 3 ListViews. Dodanie odrobiny wypełnienia do środkowej spowodowałoby pożądany efekt.

Oczywiście należy zastanowić się nad tym, w jaki sposób obrazy trafiają do miejsca, w którym się znajdują, ale to Ty musisz się domyślić :) Mam nadzieję, że daje to pewne pomysły!

+0

Podoba mi się sugestia. Spróbuję tego. – rOrlig

Powiązane problemy