пространство между трепещущими картами

#flutter

#флаттер

Вопрос:

я пытаюсь выяснить, почему между этими двумя картами flutter есть большой пробел или пробел. я знаю, что здесь что-то не так с кодом. я проверил другие сообщения на stackoverflow, но ничего, что я нашел, не могло мне помочь, пожалуйста, помогите. Спасибо

введите описание изображения здесь

вот мой код ниже..

 Container(
              child: GridView.builder(
                padding: EdgeInsets.zero,
                gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 1,
                ),
                shrinkWrap: true,
                physics: ScrollPhysics(),
                itemCount: promoList.length,
                itemBuilder: (BuildContext context, int index) =>
                    PromotionCard(promotion: promoList[index]),
              ),
            )


@override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Card(
          margin: EdgeInsets.all(0.0),
          elevation: 2.0,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(10.0),
          ),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              ClipRRect(
                borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(8.0),
                  topRight: Radius.circular(8.0),
                ),
                child: Image.asset(
                  promotion.imageUrl,
                  fit: BoxFit.cover,
                  width: MediaQuery.of(context).size.width,
                ),
              ),
              Padding(
                padding: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 20.0),
                child: Text(
                  promotion.title,
                  style: TextStyle(
                    fontSize: 16.0,
                    fontFamily: 'BuffetRegular',
                  ),
                ),
              ),
            ],
          ),
        ),
      ],
    );
  }
 

Ответ №1:

попробуйте изменить дочернее соотношение сторон в вашем GridView =>

это ====>>>

 childAspectRatio: (itemWidth / itemHeight),
 

чтобы быть таким, например

 GridView.builder(
                    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                      crossAxisCount: 1,
                    ),
                    childAspectRatio: (100/ 100),

                    shrinkWrap: true,
                    //physics: ScrollPhysics(),
                    itemCount: promoList.length,
                    itemBuilder: (BuildContext context, int index) =>
                        PromotionCard(promotion: promoList[index]),
                  ),
 

Комментарии:

1. я добавил дочернюю характеристику. все та же проблема .. изображение было обновлено

2. я обновил код, кажется, исправил разрыв между картами, но теперь он появляется внутри каждой карты

3. Абдельрахман М. Я изменил дочернюю характеристику на дочернюю характеристику: (40/30), и она исчезла.