RecyclerView – cuadrícula horizontal de dos hileras, segunda fila

Estoy tratando de hacer una rejilla de desplazamiento horizontal. Tiene dos filas. La segunda fila está desplazada (por la mitad del ancho de un elemento, pero eso es trivial para calcular y no importa aquí).

Actualmente estoy usando RecyclerView y el GridLayoutManager de https://github.com/antoniolg/RecyclerViewExtensions/tree/master/library/src/main/java/com/antonioleiva/recyclerviewextensions

Sin embargo, la compensación está resultando extremadamente difícil.

Debería terminar pareciendo http://i.imgur.com/XrbnV5x.png

¿Alguien tiene alguna sugerencia para hacer la segunda fila escalonada como en la imagen de arriba?

Utilice StaggeredGridLayoutManager con una ItemDecoration que agrega el desplazamiento al elemento en la posición 0. del adaptador. Obtendrá la salida deseada. (Vía getItemOffsets ). Alternativamente, en lugar de una ItemDecoration, cuando se llama onBind, puede establecer el ancho del primer elemento de tal manera que incluya el espacio a la izquierda.

Si el conjunto de datos cambia, no llame a notifyDataSetChanged, que restablecerá los cálculos históricos en SGLM. En su lugar, utilice eventos de notificación detallados como notifyItemRangeInserted para que SGLM pueda volver a calcular el diseño sin restablecer posiciones.

No sé si todavía estás trabajando en esto, pero mi enfoque sería hacer que los elementos 2 a la vez (arriba / abajo) con el desplazamiento adecuado, y luego jugar con sus márgenes horizontales (ponerlos a negativo) Para crear la superposición entre los puntos 2 y 3, etc.

Tendrías que vincular OnTouchListeners a los elementos individuales que se están procesando, no a las entradas de RecyclerView.

  • Android - RecyclerView espaciado entre elementos en una cuadrícula
  • ¿Puedo evitar las llamadas getView () al medir un GridView?
  • Cómo eliminar el espacio entre filas de vista de cuadrícula en android
  • Android: ¿Gridview o listview?
  • Problema con GridView con ImageViews y TextViews
  • Cambiar la actividad con Swipe
  • Obtener el ancho real de la columna de GridView en Android
  • Establecer la altura fija de la fila de GridView
  • Cómo animar una vista para ocultar debajo de otra vista y luego animar desde esa vista
  • ¿Cómo conservo el resaltado de elementos seleccionado en gridview cuando cambia numColumns?
  • ¿Cómo tener fondos y colores diferentes para divisores en GridView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.