Подтвердить что ты не робот

Таблица с переменной шириной столбца в строке (аналогично UICollectionView для iOS)

Есть ли эквивалент для iOS UICollectionView в Android SDK?

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

+-----------------+----------+--------+
| cell 1          | cell 2   | cell 3 |
+-----------------+--+-------+--+-----+
| cell 4  | cell 5   | cell 6   |
+---------+---+------+-----+----+---------+
| cell 7      | cell 8     | cell 9       |
+-------------+------------+--------------+

Я думал использовать отдельный GridView для каждой строки, но мне нужно прокрутить всю таблицу сразу, и я не уверен, что повторное использование ячейки будет работать должным образом таким образом.

Каков наилучший способ реализовать таблицу выше?

4b9b3361

Ответ 1

Если вы можете установить ячейки в предопределенную ширину, вы должны проверить TwoWayGridView.

В противном случае то, что вы ищете, находится в экспериментальной ветке AOSP и называется StaggeredGridView. Они начали реализацию, но она довольно молодая и неподготовленная, хотя она может дать вам подсказку о том, с чего начать.

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

Ответ 2

Я не уверен, но вы можете найти решение для своей проблемы здесь.

Я думаю, Адаптер списка ведра - это решение вашего вопроса. Попробуйте выполнить его и сообщите мне.

Не стесняйтесь комментировать. Наслаждайтесь кодированием.:)

ОБНОВЛЕНО

Вы также можете делать, как вы сказали. Просто создайте Dynamic TableLayout, пока Пользователь прокручивается вниз. Это не займет много памяти, а также отобразит данные на основе вашего пользовательского представления. Таким образом, у вас будет прокрутка, все ячейки, а также решить проблему с памятью.

Ответ 3

Я думаю, что StaggeredGridView или QuiltView поможет решить вашу проблему. Используя эти библиотеки, мы можем упорядочить изображения по ширине и высоте

Если вы используете представление обложек, вы можете создать его в разных стилях, изменив ScaleType и т.д.

Я не пробовал TwoWayGridView, но стоит попробовать. Надеюсь, это поможет..:)