🍱 1.2B – plein_de_containers
Objectif 🎯
Pratiquer :
- l'utilisation d'une vue défilante (
ListView) - la manipulation de l'espacement (Padding)
- l'optimisation de code (refactorisation).
À faire 🛠️
Étape 1 : L'interface de base
Créez un écran qui affiche une liste défilante verticalement (utilisez un ListView). Cette liste doit contenir 10 Container empilés les uns sous les autres.
Chaque Container doit respecter les règles suivantes :
- Dimensions : Occuper toute la largeur de l'écran et avoir une hauteur fixe de 200 pixels.
- Couleurs : Chaque bloc doit afficher une nuance différente d'une même couleur (voir l'astuce ci-dessous).
- (Espacement (Padding)) : L'espacement qui entoure le
Containerdoit augmenter progressivement. Le premier a un espacement de 0, le deuxième de 10, le troisième de 20, et ainsi de suite.


Dans Flutter, les couleurs de la palette Material viennent avec des nuances numérotées, généralement de 50 (très pâle) à 900 (très foncé). Vous pouvez les utiliser avec des crochets :
Colors.green[0], // Transparent
Colors.green[100] // Pâle
Colors.green[200] // Foncé
Colors.green[300] // Plus foncé
// Ainsi de suite jusqu'à 900
Étape 2 : L'optimisation (Bonus)
Si vous avez réalisé l'Étape 1 de façon "naïve", vous avez probablement copié-collé le même bloc de code 10 fois pour créer vos 10 conteneurs. Modifiez votre code pour extraire la création d'un conteneur dans une méthode ou un Widget réutilisable.
👉 Objectif : Ne plus avoir de code d'interface dupliqué. Validez votre solution avec votre enseignant.
Même en ayant réussi le Bonus 1, vous avez probablement dû appeler votre nouvelle méthode 10 fois manuellement (une fois pour chaque conteneur). Modifiez votre approche pour utiliser une structure itérative (une boucle ou un constructeur spécifique du ListView).
👉 Objectif : Le code qui génère le conteneur ne doit être appelé qu'à un seul endroit dans tout votre fichier. Validez votre solution avec votre enseignant.