Как применить диапазон строк в tablelayout?

Как применить row_span к TableLayout?

Я хочу сделать что-то похожее на этот образ, но я не знаю, как это сделать.

Изображение таблицы

Каков правильный способ сделать что-то подобное?

Solutions Collecting From Web of "Как применить диапазон строк в tablelayout?"

TableLayout не поддерживает TableLayout строк, только столбцы. GridLayout поддерживает как строки, так и столбцы:

Образец GridLayout

(Картинка из http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html )

Маленький обман (возможно, довольно сложный код и действителен только для простого дизайна):

Сделайте TableLayout . Поместите еще один TableLayout в первый столбец и представление, которое вы хотите иметь rowspan во втором столбце. Этот внутренний TableLayout может иметь столько же TableRows сколько вы хотите, чтобы другой вид отображался.

Вот код:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="@dimen/activity_horizontal_margin" tools:context=".MainActivity"> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="3"> <TableLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.5"> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_blue_dark"> <TextView android:text="Row 1"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_blue_light"> <TextView android:text="Row 2"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_blue_bright"> <TextView android:text="Row 3"/> </TableRow> </TableLayout> <TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.5" android:text="Second column, rowspan 3" android:background="@android:color/holo_purple" android:gravity="center"/> </TableRow> </TableLayout> </LinearLayout> 

Итак, подведите итог:

TableLayout: первый столбец (TableLayout с таким количеством таблиц, как мы хотим), второй столбец (элемент, который займет все пространство этих строк).

Введите описание изображения здесь

Вы использовали « android: layout_span », он может использоваться для охвата строк. Вы не можете получить его с помощью Ctrl + Space, вам нужно ввести его вручную.