GridView: GridView с различными размерами ячеек и макетом,

Привет мне нужен gridview, который имеет 2 различных макета в ячейках сетки в соответствии с типом ячейки сетки. Вот я привожу пример scrren, нарисованный на бумаге.

2 ответа

Решение

Пользователь RecyclerView с GridLayoutManager которые установили SpanSizeLookup, Так будет и так:

int fullSpanSize = 3;
int normalSpanSize = 1;

GridLayoutManager layout = new GridLayoutManager(context, fullSpanSize);
layout.setSpaneSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        return position == 3 ? fullSpanSize : normalSpanSize;
    }
});
recyclerView.setLayoutManager(layout);

Вы можете использовать StaggeredGridLayoutManager, затем в методе переопределения адаптера getItemViewType(int position) для возврата различных viewTypes в зависимости от типа ячейки / данных, поэтому при раздувании элементов в onCreateViewHolder (родительский элемент ViewGroup, final int viewType) вы можете выбрать другой макет для ячейка на основе viewType.

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