Dibujo de dos trazos para Android ListView divisor?
¿Es posible dibujar dos trazos (uno tras otro) para el divisor ListView?
He intentado el siguiente dibujable, pero sólo muestra el primer golpe:
- Android listview muestra datos falsos después de desplazarse (adaptador personalizado)
- Android: Seleccionar elementos en un ListView multi-select dentro de AlertDialog
- Android Action Bar Search: ¿Cómo filtrar una lista por la propiedad de un elemento de la lista?
- Cursoradapter con diferentes diseños de filas
- Buggy ListView me hace triste
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:color="#eeeeee" /> <size android:height="1px" /> <stroke android:color="#c1c1c1" /> <size android:height="1px" /> </shape>
- Cómo sincronizar dos posiciones de ListView
- No se puede agregar la vista de encabezado a la lista - setAdapter ya se ha llamado
- Array Index fuera de límite cuando se desplaza la vista de lista rápidamente mientras se actualizan los datos desde el servidor
- Se barajaron las imágenes al desplazar un ListView con un ViewHolder
- Actualizar una vista de lista en un fragmento de un receptor de difusión
- Utilizar OnItemClickListener en ListView dentro de ViewPager
- ¿Por qué utilizar Inflater en listview?
- Android: ¿Cómo evitar la cabecera de desplazamiento en listview, android?
Sí, es posible. Si desea crearlo con formas de forma, tiene que hacerlo de manera diferente. Una forma dibujable puede contener sólo una forma, una línea en su caso. Puede combinar dos formas en la lista de capas . Dibujados en la lista de capas se dibujan uno sobre otro, el último en la parte superior. Para crear dos líneas sólo tiene que establecer el relleno adecuado para cada una de las líneas, de modo que ambas líneas sean visibles. El resultante dibujable será algo como esto (he hecho las líneas más gruesas en el ejemplo):
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="2dp"> <shape android:shape="line"> <stroke android:color="#eeeeee" android:width="2dp" /> <size android:height="4dp" /> </shape> </item> <item android:top="2dp"> <shape android:shape="line"> <stroke android:color="#c1c1c1" android:width="2dp" /> <size android:height="4dp" /> </shape> </item> </layer-list>
Si quieres que los 2 movimientos sean realmente delgados, digamos 1px de altura cada uno, probé la solución anterior y no pude hacerlo.
Me pareció mucho más fácil pintar una imagen litte (1×2) con los 2 píxeles con los colores deseados, y luego definir la imagen en el divisor haciendo:
android:divider="@drawable/myTinyDivider"
Espero que esto ayude a alguien.
- Cómo actualizar la interfaz de usuario de actividad de BroadCastReceiver
- Cómo seleccionar siguiente y anterior Editar textos en una vista