Я использую TableLayout в Android. Прямо сейчас у меня есть одна TableRow с двумя элементами в ней, а под ней TableRow с одним элементом. Это выглядит так:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
---------------
Я хочу сделать так, чтобы ячейка 3 растянулась по обеим верхним ячейкам, чтобы она выглядела так:
-----------------------------
| Cell 1 | Cell 2 |
-----------------------------
| Cell 3 |
-----------------------------
В HTML я бы использовал COLSPAN .... как мне заставить это работать в Android?
android
android-layout
android-tablelayout
Спайк Уильямс
источник
источник
Ответы:
Кажется, что это делает атрибут: layout_span
ОБНОВЛЕНИЕ: этот атрибут должен применяться к дочерним элементам TableRow. НЕ к самой TableRow.
источник
Чтобы завершить ответ, атрибут layout_span должен быть добавлен к дочернему элементу, а не к TableRow.
Этот фрагмент показывает третью строку моего tableLayout, которая занимает 2 столбца.
источник
И вот как вы это делаете программно
источник
child
этом случае может быть что угодно, а не только текстовое представление, как было предложено вашим редактированием. СпасибоВы должны использовать layout_weight, чтобы заполнить всю строку, иначе она по-прежнему заполняет левый или правый столбец макета таблицы.
источник
Может, это кому-то поможет. Я попробовал решение,
layout_span
но это не сработало для меня. Вот я и решил проблему этим трюком. Просто используйтеLinearLayout
вместоTableRow
colspan, вот и все.источник
используйте android: layout_span в дочернем элементе элемента TableRow
источник
У меня была проблема с rowspan, в случае TableRow, Textview и так далее, созданных с помощью кода. Даже если ответ Onimush кажется хорошим, он не работает с сгенерированным пользовательским интерфейсом.
Вот фрагмент кода, который ... не работает:
Код вроде в порядке, но когда вы дойдете до инициализации «the_params», он вернет NULL.
С другой стороны, этот код работает как шарм:
Единственная разница в том, что я помещаю Textview внутрь TableRow перед установкой диапазона. И в этом случае это работает. Надеюсь, это кому-то поможет!
источник
Я думаю, вам нужно обернуть один макет вокруг другого. Один список макетов должен располагаться вертикально, а внутри - еще один (или в данном случае два) списка по горизонтали.
Мне все еще трудно красиво разделить интерфейс на 50-50 частей в Android.
источник