** РЕДАКТИРОВАТЬ: эта строка была правильной, когда этот ответ был написан, но больше не применяется к 99,9%+ всех устройств Android: There is no GridLayout in the Android API.
**
(Примечание. Начиная с уровня API 14, наконец-то появился GridLayout; см. ответы ниже. Кроме того, библиотека поддержки V7 добавляет поддержку GridLayout вплоть до API 7. Однако описание GridView в этом ответе по-прежнему точное и очень хорошее. указано.)
Если вы имеете в виду GridView, TableLayout и GridView — это совершенно разные вещи.
GridView в основном похож на ListView, но элементы которого расположены в строгой сетке. Он прикреплен к адаптеру и извлекает представления из адаптера, когда пользователь прокручивает его. Все элементы в сетке должны быть одного размера. Пользователь может перемещать видимый селектор по каждому элементу — цель GridLayout — отображать данные из адаптера и позволять пользователю перемещаться и выбирать каждый из отображаемых элементов. Единственное отличие от ListView заключается в том, что элементы помещаются в сетку, а не в вертикальный список.
TableLayout — это просто менеджер компоновки, что-то вроде таблицы в HTML. Сам по себе он не прокручивает; чтобы иметь что-то, что прокручивается, вы должны поместить TableLayout в ScrollView. Это означает, что все данные, которые вы отображаете, должны быть предварительно заполнены в TableLayout, поэтому ScrollView знает общее пространство, в котором он должен прокручиваться. Он также не дает вам прямого выбора или взаимодействия для «элемента», потому что TableLayout не имеет элементов, это просто менеджер компоновки.
На самом деле вы не дали достаточно полезной информации о том, что вы на самом деле пытаетесь сделать, чтобы кто-нибудь мог порекомендовать, что использовать. Многое зависит от того, что конкретно вы хотите.
Я имею в виду, что будет полезно в плане "дополнительных возможностей"?!? Ну какие функции вы ищете!
В любом случае, как правило, представление на основе адаптера следует использовать в любой ситуации, когда у вас есть значительный объем данных, которые пользователь прокручивает; это намного эффективнее, чем создавать всю иерархию представлений заранее для отображения ваших данных. Они также единственные, которые автоматически обеспечивают выбор для каждого элемента и другие подобные функции. Основным представлением для этого, которое используют приложения, является ListView, хотя GridView также можно использовать.
person
hackbod
schedule
17.08.2011