GridLayoutManager en RecyclerView con espacio entre elementos y que coincida con el ancho completo.
Quiero utilizar un administrador de diseño de cuadrícula, los objetos deben estar en 2 columnas. Quiero que cada fila se divida uniformemente entre los objetos y también tenga un poco de espacio alrededor de ellos. Antes hice lo siguiente:
val manager = GridLayoutManager(this, 4)
manager.spanSizeLookup = object: GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int = 2
}
recycler.layoutManager = manager
Pero aunque los objetos de cada fila son del mismo tamaño, tienen una enorme brecha entre ellos y no hay espacio con los objetos debajo. ¿Cómo puedo solucionarlo? Por favor, tenga en cuenta que utilicé un ancho/tamaño específico para los objetos inflados en la vista. Supongo que eso es un problema, pero no estoy seguro de qué debería usar para aquellos.
davy.ai
Para lograr una distribución uniforme entre los elementos con poco espacio alrededor de ellos, puede configurar la decoración del elemento para agregar el espacio deseado alrededor de cada elemento. Aquí hay un ejemplo:
getItemOffsets
:RecyclerView
:Puede ajustar el valor de
spacing
para que se ajuste a su diseño.Nota:
R.dimen.grid_spacing
es un recurso de dimensión que puede definir en el archivodimens.xml
.Asegúrese de que el ancho de los elementos inflados en la vista no sea demasiado ancho y exceda el diseño de la cuadrícula. Puede usar
wrap_content
omatch_parent
dependiendo del diseño.