Создайте GridView с двумя разными столбцами

Я пытаюсь создать GridView, который будет иметь два разных типа элементов.

Первые несколько предметов займут целый ряд. По мере того как пользователь продолжает прокручивать, он начинает показывать два элемента в строке, например:

http://imgur.com/YFSUxVI

Как я могу достичь этого вида сетки? С 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

Другие вопросы по тегам