Widok Recycler systemu Android korzystający z równych odstępów w Menedżerze układu siatki nie działa
Dec 18 2020
Dekoracje przedmiotów w widoku Recyklera nie są równomiernie rozmieszczone, gdy liczba rozpiętości jest nieparzysta. Kiedy ustawiam parzystą rozpiętość, odstępy wyglądają na równe, ale po ustawieniu nieparzystej rozpiętości odstępy między środkowymi kolumnami są nieco zakłócone. Jak rozwiązać ten problem? Kod to:
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);
}
});

Odpowiedzi
ahmadbajwa Dec 18 2020 at 21:30
Możesz dodać margines w wierszu xml, aby uzyskać równe odstępy w widoku recyklingu. Jest to łatwy sposób na dodanie równych odstępów między elementami listy.