1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vigiles-OptionalSpanSizeRecycleGridView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Можно ли свободно задать, на какое количество колонок будет разделён экран — на три или четыре?

Каждый элемент в зависимости от значений width и height в своём собственном Bean вычисляет, сколько колонок он занимает — одну, две или три.

Можно реализовать группировку, для этого достаточно установить значение в groupId в Bean.

Посмотрите на код ниже, его легко понять.

Использование:

// 40 элементов данных
ArrayList<PictureBean> mPS = PictureFactory.getPictures(140); // Обратите внимание, что Bean должен реализовывать интерфейс ICVURatioBean.

Collections.sort(mPS, new PictureCompartor()); // 0. Важно! Сначала отсортировать данные по целевой компоновке!

int columns = 6; // 1. На сколько колонок разделить экран
CVURatioUtil.ratio(columns, mPS); // 2. Обработать данные

CVURatioLayoutManager mGridLytManager = new CVURatioLayoutManager(this, columns, mPS);  // 3. Указать менеджер компоновки

PictureAdapter mAdapter = new PictureAdapter(mPS);   // Обычный адаптер

RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.rlv);
mRecyclerView.setLayoutManager(mGridLytManager);
mRecyclerView.setAdapter(mAdapter);

Принцип работы:

В GridLayoutManager RecyclerView есть объект SpanSizeLookup, который используется для управления количеством колонок, занимаемых каждым элементом. Нужно заранее рассчитать, сколько колонок должен занимать каждый элемент, а затем просто взять это значение.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Можно задать количество столбцов экрана, и каждый элемент будет адаптироваться под определённое количество столбцов. Горизонтальный поток RecyclerView с возможностью группировки. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/vigiles-OptionalSpanSizeRecycleGridView.git
git@api.gitlife.ru:oschina-mirror/vigiles-OptionalSpanSizeRecycleGridView.git
oschina-mirror
vigiles-OptionalSpanSizeRecycleGridView
vigiles-OptionalSpanSizeRecycleGridView
master