ListView

Le widget ListView est utilisé pour afficher une liste défilable d'éléments dans une direction donnée, généralement verticalement. Il est très efficace car il ne rend que les éléments visibles à l'écran, ce qui le rend adapté à l'affichage de grandes listes d'éléments.

Voici un exemple d'utilisation du widget ListView :

ListView(
  children: <Widget>[
    ListTile(
      leading: Icon(Icons.star),
      title: Text('Élément 1'),
      subtitle: Text('Description de l\'élément 1'),
      trailing: Icon(Icons.more_vert),
      onTap: () {
        // Action à effectuer lors du tap sur l'élément 1
      },
    ),
    ListTile(
      leading: Icon(Icons.star),
      title: Text('Élément 2'),
      subtitle: Text('Description de l\'élément 2'),
      trailing: Icon(Icons.more_vert),
      onTap: () {
        // Action à effectuer lors du tap sur l'élément 2
      },
    ),
    // Ajouter d'autres ListTiles pour plus d'éléments
  ],
)

Dans cet exemple, nous utilisons un ListView pour afficher une liste de ListTile, chacun représentant un élément de la liste. Chaque ListTile peut contenir un titre, un sous-titre, une icône à gauche (leading) et une icône à droite (trailing), ainsi qu'une action à effectuer lorsqu'il est tapé (onTap).

Le widget ListView peut également être utilisé avec des constructeurs tels que ListView.builder pour construire dynamiquement la liste en fonction des données, ou ListView.separated pour ajouter des séparateurs entre les éléments de la liste.

Quelques propriétés

Voici quelques propriétés couramment utilisées avec le widget ListView :

  • scrollDirection : Cette propriĂ©tĂ© dĂ©finit la direction dans laquelle la liste doit dĂ©filer, soit Axis.vertical pour un dĂ©filement vertical (par dĂ©faut), soit Axis.horizontal pour un dĂ©filement horizontal.

  • shrinkWrap : Cette propriĂ©tĂ© dĂ©finit si le ListView doit rĂ©duire sa taille pour s'adapter au contenu ou occuper toute la hauteur disponible. Elle est souvent utilisĂ©e avec ListView dans un Column pour Ă©viter les erreurs de dĂ©bordement.

  • padding : Cette propriĂ©tĂ© dĂ©finit la marge intĂ©rieure du ListView, qui est l'espace entre les bords du ListView et ses enfants.

  • itemExtent : Cette propriĂ©tĂ© dĂ©finit la hauteur fixe de chaque Ă©lĂ©ment de la liste. Elle est utile lorsque tous les Ă©lĂ©ments de la liste ont la mĂŞme hauteur, ce qui permet d'optimiser les performances en Ă©vitant de mesurer la hauteur de chaque Ă©lĂ©ment.

  • physics : Cette propriĂ©tĂ© dĂ©finit le comportement de dĂ©filement de la liste, comme la façon dont elle rebondit en fin de liste. Vous pouvez utiliser des classes comme AlwaysScrollableScrollPhysics, BouncingScrollPhysics, ClampingScrollPhysics, etc.

  • controller : Cette propriĂ©tĂ© vous permet de contrĂ´ler le dĂ©filement de la liste en utilisant un ScrollController. Cela peut ĂŞtre utile pour faire dĂ©filer la liste vers un Ă©lĂ©ment spĂ©cifique ou pour Ă©couter les Ă©vĂ©nements de dĂ©filement.

Last updated