Горизонтальный GridView с неровными или объединенными ячейками

Мне нужно отображать данные в виде сетки с горизонтальной прокруткой. В настоящее время я использую TwoWayGridView: https://github.com/jess-anders/two-way-gridview, но мне нужно изменить элементы сетки на неровные (точнее - объединенные) ячейки. Мой вид сетки должен выглядеть так:

Горизонтальное представление сетки

Есть ли у вас какие-либо советы о том, как построить такое представление?

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

Должен ли я создавать свою собственную реализацию AdapterView или расширять существующую?

Идеальным решением для меня была бы реализация Android UICollectionView из iOS, но я предполагаю, что ее не существует.


person froger_mcs    schedule 27.09.2013    source источник


Ответы (2)


Я тоже сталкивался с подобной ситуацией, я решил ее, используя Grid Layout (не gridview) в виде с горизонтальной прокруткой, я согласен, что это не оптимизированное решение, но его стоит реализовать, в моем случае я просто должен показать текст без изображений не было.

вот представление, которое я создал: - введите здесь описание изображения

вам нужно тщательно распределить строки и столбцы, для этого вы можете обратиться к следующим вопросам
Как подогнать GridLayout под размер экрана

Установите rowSpan или colSpan дочернего элемента GridLayout программно?

и используйте тег представления для идентификации представления, если вы реализуете какой-либо прослушиватель кликов или касаний, поскольку я не нашел другого способа найти представление, кроме использования его тега!

Надеюсь, поможет !!

person r4jiv007    schedule 27.09.2013

Существует компонент под названием StaggeredGridView, который позволяет создавать неровные плитки, сохраняя оптимизацию повторного использования. Где-то на github есть его порт, хотя у меня были некоторые проблемы с ним, и я просто взял реализацию непосредственно из исходников Android (компонент еще не общедоступен).

В прошлый раз, когда я его использовал, он был не совсем готов, поэтому кое-какой функционал пришлось добавить самому, но ничего криминального там нет, просто мелочи.

person Alex Orlov    schedule 27.09.2013