Junior — Middle
Jaké metody lze použít k realizaci mezer mezi prvky v RecyclerView?
sobes.tech AI
Odpověď od AI
Pro vytvoření mezer mezi prvky v RecyclerView lze použít několik přístupů:
- ItemDecoration — nejflexibilnější a doporučený způsob. Vytvoříte třídu, která dědí od
RecyclerView.ItemDecoration, a přepíšete metodugetItemOffsets(), abyste nastavili okraje kolem prvků.
class SpaceItemDecoration(private val space: Int) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State
) {
outRect.left = space
outRect.right = space
outRect.top = space
outRect.bottom = space
}
}
// Použití:
recyclerView.addItemDecoration(SpaceItemDecoration(16))
-
Okraje v rozložení prvku — přidejte
margindo XML rozložení prvku seznamu. Nevýhodou je, že okraje nejsou brány v úvahu při animacích a mohou být nerovnoměrné. -
Použití LayoutManager s okraji — například u
GridLayoutManagerlze nastavit okraje přessetSpanSizeLookupa další metody, ale je to méně univerzální.
Doporučuje se používat ItemDecoration pro kontrolu mezer, protože odděluje logiku rozvržení od vzhledu a přizpůsobí se různým LayoutManagerům.