Junior — Middle
Aké metódy možno použiť na realizáciu medzier medzi prvkami v RecyclerView?
sobes.tech AI
Odpoveď od AI
Na vytvorenie medzier medzi prvkami v RecyclerView je možné použiť niekoľko prístupov:
- ItemDecoration — najflexibilnejší a odporúčaný spôsob. Vytvoríte triedu, ktorá dedí od
RecyclerView.ItemDecoration, a prepíšete metódugetItemOffsets(), aby ste nastavili okraje okolo prvkov.
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žitie:
recyclerView.addItemDecoration(SpaceItemDecoration(16))
-
Okraje v návrhu prvku — pridajte
margindo XML návrhu prvku zoznamu. Nevýhodou je, že okraje nie sú zohľadnené pri animáciách a môžu byť nerovnomerné. -
Použitie LayoutManager s okrajmi — napríklad v
GridLayoutManagermôžete nastaviť okraje pomocousetSpanSizeLookupa ďalších metód, ale je to menej flexibilné.
Odporúča sa používať ItemDecoration na kontrolu medzier, pretože to oddeľuje logiku rozloženia od vzhľadu a prispôsobí sa rôznym LayoutManagerom.