Создайте GridView с двумя разными столбцами
Я пытаюсь создать GridView, который будет иметь два разных типа элементов.
Первые несколько предметов займут целый ряд. По мере того как пользователь продолжает прокручивать, он начинает показывать два элемента в строке, например:
Как я могу достичь этого вида сетки? С UICollectionView для iOS это легко сделать, однако мне не очень повезло с этим на Android. Любая помощь будет принята с благодарностью!
1 ответ
Лучшее решение здесь: попробуйте использовать RecyclerView с GridLayoutManager и установить диапазон столбца с помощью SpanSizeLookup.
Вы можете найти подобный вопрос здесь с хорошим примером для начала.
в основном вы должны реализовать обратный вызов SpanSizeLookup
и в зависимости от положения предметов или, возможно, лучше от типа, вы установите правильный диапазон.
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case YourGridAdapter.TYPE_THREESPAN:
return 3;
case YourGridAdapter.TYPE_ITEM:
return 1;
}
}
});
Если вы думаете о создании собственного LayoutManager, взгляните на замечательную библиотеку TwoWay View