0
votes

classe masquée lorsque j'utilise Expanded?

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(),
            ),
          ),
        ),
      ],
    );
  }
}


1 commentaires

essayez de mettre une image de votre problème


3 Réponses :


0
votes

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),
            )
      ],
    );
  }
}

1 commentaires

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



0
votes

Ajoutez simplement la propriété shrinkWrap à votre GridView

GridView.builder(
        shrinkWrap: true,


0 commentaires

0
votes

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é

https://flutter.dev/docs/development/ui/widgets/scrolling


0 commentaires