2014-12-26 12 views
10

Jak możemy dynamicznie zmieniać spanCount of RecylerView?StaggeredGridLayoutManager zmień spanCount dynamicznie RecylerView

Mój kod utworzyć kolumnę 3 kart w RecyclerView:

StaggeredGridLayoutManager mFavouratesLayoutManager; 
mFavouratesLayoutManager = new StaggeredGridLayoutManager(3, 
       StaggeredGridLayoutManager.VERTICAL); 

Próbuję zrobić zasilacz jak:

  • jednego elementu w górnym rzędzie
  • 2 elementy w drugim rzędzie
  • 3 elementy poniżej tego

Odpowiedz

10

StaggeredGridLayoutManager nie obsługuje tego. Możesz zmienić licznik rozpiętości, ale wpłynie to na każdy rząd. Twoja jedyna opcja to mieć pełne wiersze w/SGLM.

Jeśli używasz GridLayoutManager, można to osiągnąć poprzez ustalenie liczby rozpiętości do 6, a następnie dostarczenie SpanSizeLookup zwracającą

  • 6 na pierwszej pozycji
  • 3 dla pozycji 1 i 2
  • 2 dla pozycji 3 4 5

Itd

+1

tak, próbowałem GridLayoutManager, próbowałem zrobić to samo w SGLM. – Bora