Pourquoi la classe ItemCard se cache-t-elle lorsque j'essaie d'utiliser la classe Expanded?
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 1),
child: GridView.builder(
itemCount: products.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 1,
childAspectRatio:2,
),
itemBuilder: (context,index) => ItemCard(),
),
),
),
],
);
}
}
3 Réponses :
voici tout le code
import 'package:flutter/material.dart'; import 'package:feddah/homepage/products.dart'; class Body extends StatelessWidget { @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Expanded( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 1), child: GridView.builder( itemCount: products.length, gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 1, childAspectRatio:2, ), itemBuilder: (context,index) => ItemCard(), ), ), ), ], ); } } class ItemCard extends StatelessWidget { final Products product; final Function press; const ItemCard({ Key key, this.product, this.press, }) : super(key: key); @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Container( padding: EdgeInsets.all(5), height: 193, width: 148, decoration: BoxDecoration( color: products[0].color, borderRadius: BorderRadius.circular(16), ), child: Image.asset(products[0].image), ), Padding( padding: const EdgeInsets.symmetric(vertical: 5), child: Text( products[0].title, style: TextStyle(color:Color(0xFF122548)), ), ), Text("\$234", style: TextStyle(fontWeight: FontWeight.bold), ) ], ); } }
Vous pouvez toujours modifier votre propre question pour fournir les mises à jour, pas besoin de la mettre dans la section des réponses, car la réponse doit être utilisée pour fournir les réponses uniquement et non pour élaborer des questions
Ajoutez simplement la propriété shrinkWrap à votre GridView
GridView.builder(
shrinkWrap: true,
Ajoutez un conteneur après Widget étendu. Fournissez également une largeur et une hauteur fixes pour le conteneur. Le problème peut être la mise en page à court d'espace utilisable.
S'il ne fonctionne toujours pas, vérifiez le widget d'affichage de défilement personnalisé
essayez de mettre une image de votre problème