Как рисовать горизонтальную и вертикальную линию в макете стола

Я хочу, чтобы вертикальная и горизонтальная линия рисовалась внутри строки таблицы.

Я не могу прикрепить изображение

Я попытался рисовать линии вокруг TextView в строке таблицы, но строки не подключаются должным образом ниже, это мой xml и стиль

  <TableLayout android:id="@+id/traningprogram_tabla_monday" android:layout_width="match_parent" android:layout_height="wrap_content" android:stretchColumns="0,1,2,3" > <TableRow android:id="@+id/traningprogram_tableRow_mondayHeading" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/traningprogram_textView_mondayheadingWeek" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:padding="5dp" android:textSize="12dp" android:text="TextView" /> <TextView android:id="@+id/traningprogram_textView_mondeyheadingWeekName" android:layout_width="0dp" android:layout_height="25dp" android:layout_weight="1" android:padding="5dp" android:textSize="12dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/traningprogram_tableRow_workspeed" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/traningprogram_textView_workspeed" android:layout_width="0dip" android:layout_weight="1" android:layout_height="25dp" android:background="@drawable/cell_shape" android:padding="5dp" android:text="@string/workspeed" android:textSize="12dp" ></TextView> <TextView android:background="@drawable/cell_shape" android:padding="5dp" android:id="@+id/traningprogram_textView_workspeedvalue" android:layout_width="0dip" android:layout_weight="1" android:layout_height="25dp" android:textSize="12dp" android:text="TextView"></TextView> </TableRow> <TableRow android:id="@+id/traningprogram_tableRow_recoveryspeed" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/traningprogram__textView_recoveryspeed" android:layout_width="0dip" android:layout_height="25dp" android:layout_weight="1" android:background="@drawable/cell_shape" android:padding="5dp" android:textSize="12dp" android:text="@string/recoveryspeed" ></TextView> <TextView android:background="@drawable/cell_shape" android:padding="5dp" android:layout_weight="1" android:textSize="12dp" android:id="@+id/traningprogram_textView_recoverspeedvalue" android:layout_width="0dp" android:layout_height="25dp" android:text="TextView"></TextView> </TableRow> <TableRow android:id="@+id/traningprogram_tableRow_workduration" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/traningprogram_textView_workduration" android:layout_width="0dip" android:layout_height="25dp" android:layout_weight="1" android:background="@drawable/cell_shape" android:padding="5dp" android:textSize="12dp" android:text="@string/workduration" ></TextView> <TextView android:background="@drawable/cell_shape" android:padding="5dp" android:layout_weight="1" android:textSize="12dp" android:id="@+id/textView_workdurationValue" android:layout_width="0dp" android:layout_height="25dp" android:text="TextView"></TextView> </TableRow> <TableRow android:id="@+id/traningprogram_tableRow_recoverduration" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/traningprogram_textViewrecoverduration" android:layout_width="0dip" android:layout_height="25dp" android:layout_weight="1" android:background="@drawable/cell_shape" android:padding="3dp" android:text="@string/recoveryduration" ></TextView> <TextView android:id="@+id/traningprogram_textView_recoverydurationvalue" android:layout_width="0dip" android:layout_height="25dp" android:layout_weight="1" android:padding="3dp" android:text="TextView" android:textSize="12dp" /> </TableRow> <TableRow android:id="@+id/traningprogram__tableRow_repe" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/traningprogram_textView_repes" android:layout_width="0dip" android:layout_height="25dp" android:layout_weight="1" android:background="@drawable/cell_shape" android:padding="5dp" android:textSize="12dp" android:text="@string/reps" > </TextView> <TextView android:background="@drawable/cell_shape" android:padding="5dp" android:id="@+id/traningprogram_textView_repes" android:layout_width="0dip" android:layout_weight="1" android:layout_height="25dp" android:textSize="12dp" android:text="TextView"></TextView> </TableRow> </TableLayout> 

рисуем / cell_shape

  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="1dp" android:left="-2dp" android:right="1dp" android:top="-3dp"> <shape android:shape="rectangle" > <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#00FFFFFF" /> </shape> </item> </layer-list> 1  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="1dp" android:left="-2dp" android:right="1dp" android:top="-3dp"> <shape android:shape="rectangle" > <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#00FFFFFF" /> </shape> </item> </layer-list> 1  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="1dp" android:left="-2dp" android:right="1dp" android:top="-3dp"> <shape android:shape="rectangle" > <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#00FFFFFF" /> </shape> </item> </layer-list> 1  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="1dp" android:left="-2dp" android:right="1dp" android:top="-3dp"> <shape android:shape="rectangle" > <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#00FFFFFF" /> </shape> </item> </layer-list> 

Заранее спасибо за помощь

Для горизонтальной линии

 view v = new View(this); v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, 1)); 

Для вертикальной линии

  view v = new View(this); v.setLayoutParams(new TableRow.LayoutParams(1, TableRow.LayoutParams.MATCH_PARENT)); 

Добавьте это в свой код и добавьте его в строку таблицы. Программно

Отредактировано:

 TableRow row; row=(TableRow)findViewById(R.id.traningprogram_tableRow_mondayHeading); row.addView(v); 

Если вы хотите создать его в xml , используйте этот код после каждого элемента строки ( TextView )

Для горизонтальной линии в XML

 <View android:layout_width="match_parent" android:background="@android:color/red" android:layout_height="2dp" /> 

Для вертикальной линии в XML

 <View android:layout_width="2dp" android:background="@android:color/red" android:layout_height="match_parent"/> 

Попробуйте это, он будет работать

Попробуйте этот пример. Этот код покажет создание границы и покажет ваши данные в разных строках и столбцах.

Как создать таблицу с границами в Android?