Cómo establecer divisor entre columnas en tablelayout?

Quiero crear una tabla con divisores de columnas. Quiero dividir mis columnas con una imagen de barra vertical. Para lograr esto he utilizado "android:divider="@drawable/abc" pero no funciona.A continuación está mi archivo xml para el mismo:

  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:stretchColumns="*" android:padding="5dip" android:divider="@drawable/tracking_green" > <TableRow > <TextView android:id="@+id/retaileritem1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:text="xxxxxxx" /> <TextView android:id="@+id/retaileritem2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:text="xxxxxxx" /> <ImageView android:id="@+id/retailerimage1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:src="@drawable/tracking_green" /> </TableRow> 

6 Solutions collect form web for “Cómo establecer divisor entre columnas en tablelayout?”

Añadir android: showDividers = "middle"

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:stretchColumns="*" android:padding="5dip" android:divider="@drawable/tracking_green" android:showDividers="middle" > 

¡Así es como lo hice!

CÓDIGO

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="5dp" > <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:paddingBottom="50dp" android:text="Salary Details" android:textAppearance="?android:attr/textAppearanceLarge" android:textStyle="bold" /> <TableLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:shrinkColumns="0" android:stretchColumns="1" > <TableRow android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_vertical" > <TextView android:layout_gravity="center_vertical" android:gravity="left" android:text="Financial Year" android:textColor="@android:color/white" android:textSize="14sp" android:textStyle="bold" /> <Spinner android:id="@+id/spnSearchByCity" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_gravity="center_vertical" android:entries="@array/year" tools:listitem="@android:layout/simple_spinner_dropdown_item" /> </TableRow> </TableLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#d30059" android:orientation="vertical" android:paddingTop="50dp" > <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/white" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_marginTop="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="Month" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_marginTop="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="Net Salary" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_marginRight="1dp" android:layout_marginTop="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="Click" android:textAppearance="?android:attr/textAppearanceMedium" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/white" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="Jan" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="11305" android:textAppearance="?android:attr/textAppearanceMedium" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:orientation="vertical" > <TextView android:id="@+id/txtDetailsOneId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="#000000" android:text="DETAILS" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/white" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="Feb" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:text="11405" android:textAppearance="?android:attr/textAppearanceMedium" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:layout_marginLeft="1dp" android:layout_marginRight="1dp" android:layout_weight="1" android:background="#d30059" android:gravity="center" android:orientation="vertical" > <TextView android:id="@+id/txtDetailsTwoId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="#000000" android:text="DETAILS" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > </TableRow> </TableLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="50dp" > <Button android:id="@+id/btnMainMenuId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="5dp" android:text="MAIN MENU" android:textColor="@android:color/white" android:textSize="12sp" /> </LinearLayout> </LinearLayout> 

Instantánea

Introduzca aquí la descripción de la imagen

Lo que quería es una mesa como esta

Imagen de mesa con divisores verticales

He añadido esto en mi styles.xml

  <style name="Divider"> <item name="android:layout_width">1dip</item> <item name="android:layout_height">match_parent</item> <item name="android:background">@color/divider_color</item> </style> <style name="Divider_invisible"> <item name="android:layout_width">1dip</item> <item name="android:layout_height">match_parent</item> </style> Then in my table layout <TableLayout android:id="@+id/table" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:stretchColumns="*" > <TableRow android:id="@+id/tableRow1" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="#92C94A" > <TextView android:id="@+id/textView11" android:paddingBottom="10dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="10dp" /> <LinearLayout android:layout_width="1dp" android:layout_height="match_parent" > <View style="@style/Divider_invisible" /> </LinearLayout> <TextView android:id="@+id/textView12" android:paddingBottom="10dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="10dp" android:text="@string/main_wo_colon" android:textColor="@color/white" android:textSize="16sp" /> <LinearLayout android:layout_width="1dp" android:layout_height="match_parent" > <View style="@style/Divider" /> </LinearLayout> <TextView android:id="@+id/textView13" android:paddingBottom="10dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="10dp" android:text="@string/side_wo_colon" android:textColor="@color/white" android:textSize="16sp" /> <LinearLayout android:layout_width="1dp" android:layout_height="match_parent" > <View style="@style/Divider" /> </LinearLayout> <TextView android:id="@+id/textView14" android:paddingBottom="10dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="10dp" android:text="@string/total" android:textColor="@color/white" android:textSize="16sp" /> </TableRow> <!-- display this button in 3rd column via layout_column(zero based) --> <TableRow android:id="@+id/tableRow2" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#6F9C33" > <TextView android:id="@+id/textView21" android:padding="5dp" android:text="@string/servings" android:textColor="@color/white" android:textSize="16sp" /> <LinearLayout android:layout_width="1dp" android:layout_height="match_parent" > <View style="@style/Divider" /> </LinearLayout> .......... ....... ...... 

Ya que tablelayout no proporciona esto directamente, una manera posibble podría ser un framelayout. Coloque la tabla deseada encima de otra tabla de fondo que sólo tiene una fila y "match_parent" para altura / ancho. Agregue 3 columnas con el layout_weights deseado. Añadir vertical divider-imageview a la segunda columna. La tabla principal también debe usar el mismo layout_weihts + margen en las filas para parecer bueno.

Divisor horizontal posiblemente podría realizarse mediante la adición de una vista de imagen entre los tableros "a-ser-separados".

No probado aún, sólo un enfoque

Ornay

En una lista con un divisor vertical, utilice ImageView de la siguiente manera:

 <ImageView android:id="@+id/divider" android:contentDescription="@string/divider" android:layout_width="1dp" android:layout_height="65dp" android:layout_marginTop="8sp" android:background="#3B3B3B" /> 

Para evitar mostrar un divisor cuando no hay elementos en la lista, puede eliminar la línea android:background="#3B3B3B" y configurarla de forma programática:

 ((ImageView) view.findViewById(R.id.divider)).setBackgroundColor(Color.parseColor("#3B3B3B")); 

Intenta establecer el segundo textview marginleft = 1dp. Si usted no quiere que el divisor fije marginleft = 0dp

  • ¿Cómo agregar divisores entre elementos de menú específicos?
  • Eliminar AutoCompleteTextView lista desplegable divider
  • Divisor ListView para Android
  • Divisor para LinearLayout vertical?
  • Diálogo de divisor Android
  • Divisores entre TabWidgets
  • Eliminar divisor después de un pie de página en un ListView
  • ¿Cómo puedo eliminar el divisor de un listview en android?
  • Mostrar divisor después del último elemento de la lista
  • Espacio vacío entre el encabezado listview y el primer elemento
  • ¿Cómo cambio el color y / o dibujable del divisor TabWidget en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.