Установка размера диапазона в одной строке в StaggeredGridLayoutManager

У меня есть шахматная сетка с двумя столбцами. Это работает. То, что я хочу, находится в позиции 0 для строки, проходящей через 2 столбца. Я сделал это, прежде чем довольно легко использовать GridLayoutManger так:

mGridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { return position == 0 ? 2 : 1; } }); 

StaggeredGridLayoutManager не предоставляет мне такую ​​функциональность, как GridLayoutManager.

Есть ли другой способ сделать это? Я искал, но не нашел никого с той же проблемой, что удивительно, так как я думаю, что эта функциональность будет полезна для моего сценария и для бесконечной прокрутки, когда ProgressBar отображается в последней строке RecyclerView.

Вы можете использовать метод setFullSpan .
Таким образом, элемент будет располагаться с использованием всей области пролета.

Это означает, что если ориентация вертикальная, вид будет иметь полную ширину; Если ориентация горизонтальная, вид будет иметь полную высоту.

Что-то вроде этого:

 public final void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams(); layoutParams.setFullSpan(true); } 

Обращать внимание.
Он поддерживает представления, охватывающие все столбцы, но этого должно быть достаточно для вашего дела.

Intereting Posts
Как я могу отключить Wi-Fi, когда телефон спит? Строка состояния отображается на андроиде, когда клавиатура видна Вопросы по настройке файла конфигурации Google Android Кто-нибудь имеет контрольные показатели (код и результаты), сравнивающие производительность приложений Android, написанных на Xamarin C # и Java? Android Java: как вычесть два раза? Android обнаруживает деинсталляцию и открытые намерения Родительский код, вызывающий JS в Android webapps Как получить высоту клавиатуры, когда активность создана в android Android: управление голосом в телефонных звонках PopBackStack () после того, как addToBackStack не работает Карты Google – положение камеры с маркером внизу Является ли способ, с помощью которого быстро запускаются функции быстрого запуска базы данных Firebase? Ошибка раздувания класса com.google.android.gms.ads.AdView Android Studio Как загрузить более 1 МБ данных из sqlite db в android cursor? Оптимизация: доступ к полям против методов