GridLayout против TableLayout

Я не уверен, в чем разница между ними двумя и что я должен использовать для своих целей?

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

Поэтому мне нужна система макета, которая поддерживает внутри себя множество ячеек разного размера.

Что лучше соответствует моим потребностям и в чем разница?


person meds    schedule 30.04.2013    source источник
comment
Проверьте эти сообщения SO: stackoverflow.com/questions /11307218/ stackoverflow.com/questions/ 7088821/сетка-раскладка-против-таблицы   -  person Chintan Soni    schedule 30.04.2013
comment
Первая ссылка — это сравнение между GridView и GridLayout, второй пост был сделан до того, как GridLayout вышел в Android, я уже видел обе ссылки, и ни одна из них не помогла, отсюда и мой вопрос.   -  person meds    schedule 30.04.2013
comment
Хорошо, проверьте эту ссылку technicalmumbojumbo.wordpress.com/2011/12. /08/ Надеюсь, это развеет ваши сомнения.   -  person Chintan Soni    schedule 30.04.2013


Ответы (1)


По моему опыту, и GridLayout, и TableLayout давали одинаковые результаты. Они оба растягивают столбцы, чтобы они соответствовали самому широкому дочернему элементу. Ни один из них не даст вам опоясывающих линий или границ вокруг ячеек.

Из официальных документов на GridLayout:

Спецификации строк и столбцов Дочерние элементы занимают одну или несколько смежных ячеек, как это определено их параметрами макета rowSpec и columnSpec. Каждая спецификация определяет набор строк или столбцов, которые должны быть заняты; и как дочерние элементы должны быть выровнены в результирующей группе ячеек. Хотя ячейки в GridLayout обычно не перекрываются, GridLayout не препятствует определению дочерних элементов, занимающих одну и ту же ячейку или группу ячеек. Однако в этом случае нет гарантии, что дочерние элементы сами не будут перекрываться после завершения операции компоновки.

и из TableLayout:

В таблице столько столбцов, сколько строк с наибольшим количеством ячеек. Таблица может оставлять ячейки пустыми. Ячейки могут охватывать столбцы, как и в HTML.

Так что мне кажется, что GridLayout немного более универсальный и, вероятно, то, что вы ищете.

person TronicZomB    schedule 30.04.2013
comment
Можно ли оставить ячейку в сетке пустой? - person Malwinder Singh; 22.05.2015
comment
@Malwinder, я видел этот эффект на developer.alexanderklimov.ru/android/layout/gridlayout. php. - person CoolMind; 07.12.2015