Grille

Grid est une API Jetpack Compose qui vous permet d'implémenter de manière flexible une mise en page bidimensionnelle. Cette API vous permet d'afficher des éléments dans des mises en page à plusieurs colonnes ou lignes qui s'adaptent à la taille du conteneur disponible.

Une mise en page bidimensionnelle flexible et adaptative avec Grid
Figure 1. Une mise en page bidimensionnelle flexible et adaptative avec Grid.

En quoi Grid est-il différent des composables similaires ?

Compose propose déjà des composants similaires, tels que LazyVerticalGrid. Ces composants sont principalement destinés à la visualisation d'ensembles de données volumineux et homogènes, par exemple pour afficher un catalogue de contenus dans une application de streaming vidéo. Ils ne sont PAS conçus pour la mise en page structurelle d'un écran ou d'un composant complexe.

Vous pouvez également implémenter une mise en page bidimensionnelle en combinant plusieurs composables Row et Column. Cependant, cette approche présente certains inconvénients, tels que des hiérarchies profondes et des difficultés d'adaptation.

Le tableau suivant présente les mises en page adaptées à chaque API :

Composant Objectif
LazyVerticalGrid, LazyStaggeredGrid, LazyHorizontalGrid Visualisation d'ensembles de données volumineux et homogènes nécessitant un chargement différé.
Row, Column, FlexBox Mise en page unidimensionnelle
Grid Mise en page bidimensionnelle

Terminologie

Familiarisez-vous avec la terminologie suivante pour comprendre le fonctionnement de Grid.

Ligne de la grille

Une grille est composée de lignes horizontales et verticales. Si votre grille comporte trois lignes, elle comporte quatre lignes horizontales, y compris celle située après la dernière ligne. Dans l'image suivante, chaque ligne pointillée représente une ligne de grille :

La grille se compose de quatre lignes horizontales et de trois lignes verticales.
Figure 2. La grille se compose de quatre lignes horizontales et de trois lignes verticales.

Piste de grille

Une piste de grille est l'espace entre deux lignes de grille. Une piste de ligne se trouve entre deux lignes horizontales, et une piste de colonne se trouve entre deux lignes verticales. Pour définir la taille de ces pistes, attribuez-leur une taille lorsque vous créez la grille.

Une piste de grille pour la première ligne.
Figure 3. Une piste de grille pour la première ligne.

Cellule de grille

Une cellule de grille est l'intersection d'une piste de ligne et d'une piste de colonne.

Cellule de grille qui est une intersection de la deuxième ligne et de la deuxième colonne.
Figure 4. Cellule de grille qui est une intersection de la deuxième ligne et de la deuxième colonne.

Zone de la grille

Une zone de grille se compose de plusieurs cellules de grille. Vous pouvez définir une zone de grille en faisant en sorte qu'un élément s'étende sur plusieurs pistes.

Une zone de grille composée de quatre cellules de grille.
Figure 5. Une zone de grille composée de quatre cellules de grille.

Espace entre les éléments de la grille

Un espacement de grille est la gouttière entre les pistes de la grille. Vous ne pouvez pas placer un élément d'interface utilisateur dans un espace, mais vous pouvez l'étendre sur cet espace.

Un espace de grille entre la première colonne et la deuxième colonne.
Figure 6. Un espace de grille entre la première et la deuxième colonne.