Cómo superponer elementos en LinearLayoutManager – RecyclerView (como tarjetas de apilado)
¿Es posible superponer los elementos de RecyclerView?
Estoy intentando eso con LinearLayoutManager.
Mis requisitos son los mismos que en LinearLayoutManager y sólo necesito superponer los elementos dentro de arriba a abajo. (Como tarjetas de apilamiento)
He visto alguna variante usando ListView. Por lo tanto, creo que sería posible en RecyclerView también. Pero, después de algunas exploraciones, siento que va a tomar bastante tiempo para implementar un gestor de diseño personalizado y una gran comprensión de esto (miré en el post de Dave Acerca de Building Custom LayoutManager )
- RecyclerView se desplaza hacia arriba en notifyDataSetChanged en la pantalla de chat
- Creación de un RecyclerView ampliable
- Manejar el artículo con un clic largo en la vista del reciclador
- RecyclerVista el espacio entre los elementos que se expanden al desplazarse
- Cómo animar los elementos de RecyclerView cuando aparecen
Por lo tanto, ahora estoy pensando que podría necesitar utilizar la variación de ListView basada en mi requisito en lugar de tratar con esta complejidad de Administrador de diseño personalizado.
Pero, sólo necesito hacer los artículos dentro de solaparse. Me siento como si hubiera alguna otra dirección que no sé aún. Pls me dejó saber si hay cualquier aparte de arriba ListView varient y encargado de encargo de la disposición.
También publicaré mis resultados aquí abajo.
- "LayoutManager ya está conectado a un RecyclerView" error
- Expandiendo / Colapsando CardView con un gesto de clic o de deslizamiento (Android)?
- Estilo de RecyclerView a nivel de tema
- Android Cómo reciclar el mapa de bits correctamente cuando se utiliza RecyclerView?
- Animar las adiciones de RecyclerView desde abajo
- Datos de carga de Firebase dinámicamente en desplazamiento
- Android: Desplazamiento de problemas con recyclerview dentro de un viewpager
- Onclicklistener no está trabajando en recyclerview
Supongo que usted está buscando una superposición parcial (por ejemplo, baraja de cartas ligeramente abanico). Si es así, esto parece bastante simple con RecyclerView y un ItemDecoration personalizado. He aquí un ejemplo trivial de uno que se superpone a los elementos de 90px verticalmente:
public class OverlapDecoration extends RecyclerView.ItemDecoration { private final static int vertOverlap = -90; @Override public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { outRect.set(0, vertOverlap, 0, 0); } }
Este ejemplo codifica la compensación, pero si los elementos de la lista varían en altura, necesitará medir y agregar lógica para esto.
Añada esta decoración a la RV antes de configurar el gestor de diseño. Lo he probado con un StaggeredGrid pero debería funcionar con LinearLayout y Grid LM también.