Répondre

2

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.

1

Vous pouvez utiliser cette example of Expandable RecyclerView. Il fournit un RecyclerView extensible avec des éléments de groupe qui peuvent être développés individuellement pour montrer ses enfants dans une grille de défilement bidimensionnelle. Chaque élément de la grille peut être sélectionné. Comment cela fonctionne: Chaque objet ChildViewHolder reçoit un tableau de données de l'adaptateur RecyclerView à afficher dans une ligne de la grille. Ensuite, il décompose la disposition de sa rangée en cellules rectangulaires de taille égale. Chaque cellule affiche un élément de données.

Espérons que cela aidera ceux qui recherchent cela.