Переход от GridView к GridLayoutManager - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь перевести мое приложение с использования GridView на использование RecyclerView с GridLayoutManager.Я новичок в RecylcerViews, но успешно преобразовал мои ListViews, теперь работаю над моим GridView.Несколько вещей, в которых я не уверен:

В моем текущем GridView есть определенное количество столбцов, определенных во время выполнения, с каждым столбцом сетки одинаковой жестко заданной ширины.Его можно прокручивать как по горизонтали, так и по вертикали (я оборачиваю свой Gridview в HorizontalScrollView).Поэтому мне в основном нужно иметь представление с заданным количеством столбцов, которые имеют заданную ширину, независимо от ширины экрана.

У меня возникли проблемы с поиском метода установки ширины столбца (диапазона) для GridLayoutManager,поэтому я предполагаю, что это не так, как GridLayoutManager.Звучит так, будто он построен так, что всегда умещается во всех столбцах на экране, а не позволяет им выплескиваться за пределы экрана?Каков наилучший способ сообщить GridLayoutManager, что я хочу, например, 6 столбцов, каждый из которых имеет ширину 150 единиц (в пикселях или в пикселях)?

Для прокрутки в обоих направлениях звучит так, как будто я могу использовать свой текущийподход и просто обернуть мой RecyclerView в HorizontalScrollView, это правильно?

1 Ответ

0 голосов
/ 11 июня 2018

Сделайте ширину RecyclerView wrap_content и установите желаемое количество промежутков.(Убедитесь, что родители RecyclerView также wrap_content.) Когда вы создаете представления элементов в RecyclerView onCreateViewHolder(), убедитесь, что это именно та ширина, которую вы хотите.RecyclerView увеличится до ширины макета держателя вида, умноженной на количество промежутков.

Все, что вам нужно сделать сейчас, это обернуть все в HorizontalScrollView.

...