Пользовательский GridLayoutManager - PullRequest
0 голосов
/ 04 мая 2019

Я думаю о способе реализации представления с использованием RecyclerView, такого как это изображение, где строка заголовка находится слева, а содержимое под этим заголовком справа. enter image description here Любые идеи или указатели о том, как идти об этом.

1 Ответ

1 голос
/ 08 мая 2019

Если кто-то еще приходит сюда в поисках ответа / решения, вот что я сделал. Я использовал GridLayoutManager по умолчанию, используя дочерний RecyclerView в родительском RecyclerView. Родительский RV использует GridLayoutManager, в то время как дочерний RV использует LinearLayoutManager. Для родительского RV, используя множественный viewType, позиция 0 или позиция% 2 == 0 возвращает HEADER_TYPE, а остальные возвращают CARD_TYPE. Используя это

mGridLayoutManager = GridLayoutManager(activity, 3)
        mGridLayoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
            override fun getSpanSize(position: Int): Int {
                return when (enquiryAdapter.getItemViewType(position)) {
                    HEADER_TYPE -> 1
                    CARD_TYPE -> 2
                    else -> -1
                }
            }
        }
        recyclerView.layoutManager = mGridLayoutManager

Я изменил spanSize. Для позиции, которая возвращает CARD_TYPE, я раздуваю другой RV, который принимает список для разметки представления контента. Я не уверен, что это лучшее решение, но, похоже, это работает для меня. Я с радостью приму любое решение, работающее лучше / проще, чем это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...