libreria - crear un recyclerview android
Ampliar varias columnas con RecyclerView (2)
Entonces, lo que estoy tratando de hacer es tener un diseño escalonado, pero el primer elemento de la lista debe abarcar dos columnas. Las primeras dos filas también tienen una altura fija. Tengo todo funcionando, excepto el primer elemento que abarca dos columnas.
Estoy usando RecyclerView.Adapter con StaggeredGridLayoutManager. No parece estar fuera de la funcionalidad de la caja. Supongo que puedo hacer un administrador de diseño personalizado. No estoy seguro de por dónde empezar. Intenté buscar pero no encuentro nada sobre cómo hacer que los artículos abarquen varias columnas.
La imagen a continuación es lo que estoy buscando en la lista.
Lo que hice para abarcar todas las columnas para un diseño configurado verticalmente fue crear nuevos LayoutParams
y establecer el lapso total como verdadero en la implementación del adaptador:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder viewHolder, int position) {
StaggeredGridLayoutManager.LayoutParams layoutParams = new StaggeredGridLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.setFullSpan(true);
viewHolder.itemView.setLayoutParams(layoutParams);
}
Actualmente, StaggeredGridLayoutManager
solo admite vistas que abarcan todas las columnas (para un diseño configurado verticalmente), y no un número arbitrario de ellas.
Si aún desea expandirlos en todas las columnas, debe hacer esto en la implementación del adaptador:
public final void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams();
layoutParams.setFullSpan(true);
}
En mi humilde opinión, StaggeredGridLayoutManager
todavía está en desarrollo y Google quiere que lo usemos para comentarios :(