Android TableLayout или GridView?

#android #gridview #fade #tablelayout

#Android #просмотр сетки #исчезать #табличное представление

Вопрос:

Я хочу создать сетку из слов примерно в три ширины и восемь глубин. Я хотел бы иметь возможность выбирать некоторые слова и выполнять анимацию затухания для них. Я также хотел бы знать, когда было выбрано слово. Я просматривал TableLayout и GridView, чтобы сделать это. Будет ли один из них лучше другого для этого? Является ли один из них более адаптируемым к различным размерам экрана в Android, чем другой?

Ответ №1:

Я немного поиграл с tablelayout (и tablerow), и это определенно сработает, я думаю, что более важный вопрос заключается в том, ожидаете ли вы иметь фиксированное количество столбцов или нет («приблизительно» не помогает …). Если это так, и вы очень хорошо контролируете то, что находится в таблице / grid, tablelayout вполне может быть тем, что вы ищете (я просто нахожу это проще, но, возможно, я ошибаюсь).

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

Но тогда, если вы разрешите экрану вращаться, вы можете захотеть использовать gridview

параметры, параметры, еще раз параметры…

Комментарии:

1. Спасибо за оба моих ответа. Из обоих ответов кажется, что TableLayout будет проще. Какие параметры помогают адаптировать размер экрана?

2. Tablelayout / tablerow автоматически перекрывает ширину родительского элемента. что вам остается сделать, так это убедиться, что элементы в таблице имеют заданный размер столбцов: android: stretchColumns или android: layout_weight

Ответ №2:

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

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

Также GridLayout будет более гибким, но потребуется еще немного поработать.