StaggeredGridLayoutManager динамически изменяет spanCount RecylerView
Как мы можем динамически изменять spanCount RecylerView?
Мой код создает 3 столбца карт в RecyclerView:
StaggeredGridLayoutManager mFavouratesLayoutManager;
mFavouratesLayoutManager = new StaggeredGridLayoutManager(3,
StaggeredGridLayoutManager.VERTICAL);
Я пытаюсь сделать адаптер следующим:
- один элемент в верхней строке
- 2 элемента во второй строке
- 3 элемента ниже
Ответы
Ответ 1
StaggeredGridLayoutManager не поддерживает это. Вы можете изменить количество проходов, но оно будет влиять на каждую строку. Ваш единственный вариант - иметь полные строки с SGLM.
Если вы используете GridLayoutManager, вы можете достичь этого, установив количество интервалов в 6, затем предоставив SpanSizeLookup, который возвращает
- 6 для первого элемента
- 3 для пунктов 1 и 2
- 2 для предметов 3 4 5
Etc.
Ответ 2
Вы можете попробовать это, так как StaggeredGridLayoutManager не поддерживает это, поэтому используйте Gridlayoutmanager.
enter code here GridLayoutManager layoutManager = new GridLayoutManager(this, 4);layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == 1)
return 6;
else
return 2;
}
});