Junior — Middle
Quelles méthodes peuvent être utilisées pour réaliser des espaces entre les éléments dans RecyclerView?
sobes.tech IA
Réponse de l'IA
Pour créer des espaces entre les éléments dans RecyclerView, plusieurs approches sont possibles :
- ItemDecoration — la méthode la plus flexible et recommandée. Créez une classe héritant de
RecyclerView.ItemDecorationet surchargez la méthodegetItemOffsets(), pour définir les marges autour des éléments.
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
}
}
// Utilisation :
recyclerView.addItemDecoration(SpaceItemDecoration(16))
-
Marges dans la mise en page de l'élément — ajoutez
margindans la mise en page XML de l'élément de la liste. L'inconvénient est que les marges ne sont pas prises en compte lors des animations et peuvent être inégales. -
Utilisation de LayoutManager avec marges — par exemple, dans
GridLayoutManager, vous pouvez définir des marges viasetSpanSizeLookupet d'autres méthodes, mais c'est moins flexible.
Il est recommandé d'utiliser ItemDecoration pour contrôler les espaces, car cela sépare la logique de mise en page de la disposition et s'adapte à différents LayoutManager.