Il existe un exemple complet here de comment implémenter un GridView extensible en utilisant ce library.
Fondamentalement, vous utilisez la bibliothèque pour regrouper vos éléments dans des sections afin d'avoir un en-tête pour chaque section, mais vous pouvez l'implémenter yourself.
vous ajoutez ensuite un GridLayoutManager
, définir le nombre de colonnes par ligne (2 dans cet exemple) et mettre l'en-tête d'avoir une taille de portée de 2 colonnes par rangée et les enfants d'avoir une taille de portée de 1 colonne par ligne:
GridLayoutManager glm = new GridLayoutManager(getContext(), 2);
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(sectionAdapter.getSectionItemViewType(position)) {
case SectionedRecyclerViewAdapter.VIEW_TYPE_HEADER:
return 2;
default:
return 1;
}
}
});
recyclerView.setLayoutManager(glm);
pour développer/réduire les sections, vérifier l'utilisation de la variable expanded
dans le example.