Divisores / separadores de filas android gridview

¿Existe una manera de mostrar divisores (horizontales) entre filas en una vista de cuadrícula?

Intenté poner una pequeña imagen divisora ​​debajo de cada elemento de la cuadrícula, pero esto no es una solución, ya que no abarcará toda la fila cuando una fila no esté completamente llena de elementos.

¿Hay alguna manera de agregar una imagen entre cada fila? Sólo puedo encontrar métodos para cambiar el espacio entre filas.

Si está utilizando un diseño personalizado para elementos de cuadrícula. Debajo del código funcionará.

Paso 1: Dar color de fondo a GridView

Esto va a servir como un divisor.
Dale horizontalSpacing y verticalSpacing como 1dp
BackgroundColor será su color divisor.

 <GridView android:id="@+id/gridView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#e5e5e5" android:horizontalSpacing="1dp" android:numColumns="auto_fit" android:stretchMode="columnWidth" android:verticalSpacing="1dp" > 

Paso 2: Dar color de fondo a la disposición de elementos de cuadrícula personalizada

Esto va a servir como un color de primer plano para GridItems.
En mi caso lo mantuve blanco (#fff)

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="#fff" android:padding="15dp" > <ImageView android:id="@+id/icon" android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/ic_launcher_transparent" /> <TextView android:id="@+id/lable" android:layout_marginTop="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Medium Text" android:textStyle="bold" android:textColor="#D0583B" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> 

Resultado

Introduzca aquí la descripción de la imagen

Nota:
Si no desea separador vertical, mantenga horizontalSpacing = 0dp
Si no desea separador horizontal, mantenga verticalSpacing = 0dp

Terminé creando un gridview personalizado, algo como esto:

https://stackoverflow.com/a/9757501/1310343

Utilizando una imagen de fondo que es exactamente tan alta como un elemento en mi gridview, y tiene un devider en la parte inferior.

¡Funciona de maravilla!

Sólo quería compartir cómo implementé esto usando el enlace aceptado por OP. Para mi caso, también necesitaba controlar la longitud de los separadores, por lo que no podía obtener alrededor de subclase GridView .

 public class HorizontalSeparatorGridView extends GridView { // Additional methods @Override protected void dispatchDraw(Canvas canvas) { final int count = getChildCount(); for(int i = 0; i < count; i++) { View child = getChildAt(i); int bottom = child.getBottom(); int left = child.getLeft(); int right = child.getRight(); Paint paint = new Paint(); paint.setColor(0xffececec); paint.setStrokeWidth(Math.round(0.5 * density)); int offset = // Some offset canvas.drawLine(left + offset, bottom, right - offset, bottom, paint); } super.dispatchDraw(canvas); } 

Subclase a dispatchDraw en contraposición a onDraw sólo para ser seguro, pero no creo que importaría en este caso.

Sugiero hacer lo siguiente:

  <TableRow android:id="@+id/tableRow1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="1sp" android:layout_marginLeft="7sp" android:layout_marginRight="7sp" android:layout_marginTop="7sp" android:background="@android:color/transparent"> <TextView android:id="@+id/lblDeposit" android:layout_width="60sp" android:layout_height="40sp" android:layout_gravity="center_vertical" android:layout_marginLeft="0sp" android:background="@drawable/rounded_top_left_rectangle" android:gravity="center" android:paddingLeft="5sp" android:scaleType="fitXY" android:text="Deposit" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000"> </TextView> <TextView android:id="@+id/lblDepositvalue" android:layout_width="50sp" android:layout_height="40sp" android:layout_gravity="center_vertical" android:layout_marginLeft="2sp" android:layout_marginRight="13sp" android:background="@drawable/rounded_top_right_rectangle" android:gravity="center_vertical|center_horizontal" android:scaleType="fitXY" android:text="40000/-Rs" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000"> </TextView> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="6sp" android:layout_marginLeft="7sp" android:layout_marginRight="7sp" android:layout_marginTop="2sp" android:background="@android:color/transparent"> <TextView android:id="@+id/lblPoints" android:layout_width="60sp" android:layout_height="40sp" android:layout_gravity="center_vertical" android:layout_marginLeft="0sp" android:background="@drawable/rounded_bottom_right_rectangle" android:gravity="center" android:paddingLeft="5sp" android:scaleType="fitXY" android:text="Points " android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000"> </TextView> <TextView android:id="@+id/lblPointsValue" android:layout_width="50sp" android:layout_height="40sp" android:layout_gravity="center_vertical" android:layout_marginLeft="2sp" android:layout_marginRight="13sp" android:background="@drawable/rounded_bottom_left_rectangle" android:gravity="center_vertical|center_horizontal" android:scaleType="fitXY" android:text="20" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000"> </TextView> </TableRow> </TableLayout>` 
  • Agregar vista entre 2 filas Gridview
  • Android - ¿cómo puedo saber cuando gridview ha llegado al fondo?
  • Cómo obtener la posición de desplazamiento de GridView?
  • Hacer cuadrados los elementos de GridView
  • Cómo establecer diferentes columnas para filas en android gridview
  • ¿Cómo agregar vista a gridview de forma programática, android?
  • GridView con desplazamiento horizontal
  • GridView y GridLayout en android
  • Gridview con diseño (imageview + imagebutton) para cada valor
  • Android GridView última columna que se corta
  • Cómo establecer el elemento de vista de cuadrícula según lo seleccionado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.