Asymmetri c GridLayout / RecyclerView с помощью GridLayoutManager - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь отобразить сетку наподобие этой (графическая стойка кабины inet представление) с помощью одного из названных методов (помогите мне найти лучшее), но я не могу найти правильное решение.

В настоящее время я использую GridLayout внутри ScrollView, сначала генерируя столбец индекса (текстовые представления), а затем добавляю кнопки с правильным индексом (действующей позицией, в которой находится устройство). смонтирован) с span, чтобы развернуть кнопку на несколько рядов, где это необходимо (устройство, которое занимает более одного блока стойки).

При каждом пути, который я пробовал, я всегда сталкивался с одними и теми же проблемами:

  • Как динамически добавлять кнопки, которые занимают более одной строки только для одного столбца (устройства один).
  • Как оставить пустые места (только для столбца устройств) для единиц, которые не используются.

Так как я закончил, любая идея приветствуется.

1 Ответ

0 голосов
/ 18 февраля 2020

Используйте программу повторного просмотра и настройте высоту элементов списка в методе onBindViewHolder в RecyclerView.Adapter, как показано ниже

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val item = values[position]
    // You can customize it as per your requirement
    holder.itemView.layoutParams.height = position*50
}
...