La vista de Android Recycler usando Grid Layout Manager no funciona con el espaciado igual

Dec 18 2020

La decoración del elemento de la vista del reciclador no está igualmente espaciada cuando el recuento de tramos es impar. Cuando configuro un intervalo par, el espaciado parece igual, pero cuando establezco un recuento de intervalo impar, el espaciado de la columna central se ve un poco alterado. Cómo resolver este problema? El código es:

final int spacing = getResources().getDimensionPixelSize(R.dimen.recycler_spacing);
// apply spacing
recyclerView.setPadding(spacing, spacing, spacing, spacing);
recyclerView.setClipToPadding(false);
recyclerView.setClipChildren(false);
recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
    outRect.set(spacing, spacing, spacing, spacing);
}
});

Respuestas

ahmadbajwa Dec 18 2020 at 21:30

Puede agregar margen en su fila xml para un espacio igual en su vista de reciclaje. Es la manera más fácil de agregar espacios iguales entre los elementos de su lista.