Контейнер TableLayout
При программировании Android-приложений нередко используют такой контейнер, как TableLayout. Он позволяет структурировать элементы управления в форме таблицы по столбцам/строкам. Давайте посмотрим, как это работает.
Для начала следует определить элемент TableLayout в файле activity_main.xml. Сам элемент будет включать 2 строки и 2 столбца:
Отдельную строку мы создаем, применяя элемент TableRow. Но каким образом разметка понимает, сколько конкретно столбцов надо создавать? На практике ОС Android обнаруживает строку с наибольшим числом виджетов одного уровня, и как раз таки данное количество и станет означать количество столбцов. К примеру, в нашем случае мы определили 2 строки, причем в каждой находится по 2 элемента. Если же в какой-либо из них находилось бы 3 виджета, то и количество столбцов, соответственно, тоже равнялось бы трем, причем даже в том случае, если бы в другой строке находились 2 виджета.
Еще один момент: наследование элемента TableRow производится от класса LinearLayout, следовательно, мы можем применить к нему такой же функционал, что и в случае с LinearLayout. Допустим, чтобы определить пространство для элементов в строке, применяется атрибут android:layout_weight.
Если же какой-либо элемент надо растянуть на ряд столбцов, существует возможность сделать это посредством атрибута layout_span, указывающего, на какое именно число столбцов следует растянуть нужный нам элемент:
Кроме того, не следует забывать и о возможности растянуть нужный элемент на всю строку, установив у этого элемента атрибут android:layout_weight="1":
По материалам https://metanit.com/.