2015-06-25 5 views
3

Мне нужно сделать двунаправленный RecyclerView. В принципе, он будет прокручиваться по вертикали, но каждая строка будет горизонтальным списком фрагментов, которые могли бы прокручиваться. Начальная позиция прокрутки будет сверху и слева. Пользователь мог прокручивать вниз и прокручивать вправо с каждой строкой.Как сделать двунаправленный RecyclerView?

Любые идеи о том, как это сделать? (например, с помощью настраиваемого LayoutManager или перехвата события касания).

+0

Попробуйте вложенные виды переработчиков. Проверьте эту ссылку http://stackoverflow.com/questions/26649406/nested-recycler-view-height-doesnt-wrap-its-content – random

+0

https://www.youtube.com/watch?v=-C5I1DAviJ8 в какой-то момент в презентации он говорит о том, чего вы хотите (или, по крайней мере, я так думаю) – Luksprog

+0

'В принципе, он будет прокручиваться по вертикали, но каждая строка будет горизонтальным списком фрагментов, которые могли бы прокручиваться.' ** конфликтует с ** 'прокручиваемыми видами не должен идти в прокручиваемых представлениях (что является ** истинным **): Тем не менее, вы можете поместить GridView в строки RecyclerView. –

ответ

1

Я смог решить проблему, используя специальную реализацию представления.

У меня есть обычай ScrollView; когда вызывается onMeasure, ScrollView рассказывает своим детям, насколько высок они должны. В этом случае они составляют половину высоты ScrollView. Ширина соответствует высоте, поэтому они отображаются как квадратные плитки.

Каждый из ScrollView детей: RecyclerView с горизонтальным LinearLayoutManager. Так как ScrollView рассказывает каждому ребенку, насколько высок, нет никаких проблем с измерением, и они действительно прокручиваются очень хорошо в обоих направлениях (по вертикали и по горизонтали).

sample of solution

+0

'Каждый из детей ScrollView - это RecyclerView'', но ScrollView может содержать только одного ребенка. –

+0

@SergeyShustikov, что один ребенок - «RecyclerView». – afollestad