Android TableLayout против GridView против других? - PullRequest
4 голосов
/ 09 ноября 2011

Я занимаюсь разработкой приложения и ищу некоторые общие рекомендации:

Приложение представляет собой тренажер памяти и будет иметь несколько различных режимов:

  • Числа: до 400 цифр будут отображаться на экране в виде сетки
  • Лица: изображения лиц будут отображаться примерно на 9 страницах, также в виде сетки

Вопрос в том, могу ли я сделать это с помощью одного файла макета XML и должен ли я использовать один и тот же тип макета для каждого (и если да, то каким он должен быть!)? Это большое приложение, поэтому последовательность была бы небесной.

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

Есть мысли?

1 Ответ

19 голосов
/ 09 ноября 2011

Представление Grid в основном похоже на представление списка, где элементы расположены в статической сетке.Он извлекает представления из адаптеров в порядке их прокрутки пользователем.

Макет таблицы - это менеджер компоновки, который не выполняет прокрутку, если требуется. Это означает, что вы должны поместить его в представление прокрутки.Это подразумевает, что все отображаемые данные должны быть заполнены в TableLayout заранее, поэтому ScrollView знает общее пространство, в котором он должен прокручиваться. Он также не дает прямого выбора или взаимодействия для каждого элемента, потому чтоTableLayout не имеет элементов, это просто менеджер раскладки.

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

...