Карусель Слайдер с увеличенным центром опционально флаттер

Я использую CarouselSlider для создания карусели в последней версии Flutter (с поддержкой Интернета) 2.2.1. Мое требование состоит в том, чтобы у карусели был активный центр большего размера. и карточки на его сторонах должны быть меньшего размера.

Это достигается с помощью опции LargeCenterPage: true. Проблема в том, что в моем встроенном виджете он принимает в качестве параметра ширину и высоту карты. Итак, мне нужно передать параметр таким образом, чтобы, когда карта становится неактивной (нецентральная карта), ее высота и ширина уменьшаются.

Я не могу найти способ передать новую ширину и высоту, когда карточка становится неактивной.

Как, я звоню в CarouselSlider.

      Container(
              width: width,
              height: height,
              color: Colors.lightBlue,
              child: CarouselSlider.builder(
                itemCount: polls.length,
                itemBuilder:
                    (BuildContext context, int itemIndex, int pageViewIndex) =>
                        PollCard(
                  cardWidth,
                  cardHeight,
                  polls,
                  itemIndex,
                  polls[itemIndex]['poll_id'],
                ),
                options: CarouselOptions(
                  height: height * 0.9,
                  viewportFraction: 0.35,
                  enableInfiniteScroll: true,
                  autoPlayCurve: Curves.fastOutSlowIn,
                  enlargeCenterPage: false,
                ),
              )))

Как работает моя опросная карточка,

          double height = widget.height;
    double width = widget.width;

return Container(
      width: width,
      height: height,
      child: _buildDesktopView(width, height),
    );

_buildDesktopView переполняется, когда текущая карта становится неактивной.

Здесь нужна помощь. Очень новенький в трепете. Задайте мне какие-нибудь вопросы, если я могу объяснить более понятно.

0 ответов

Другие вопросы по тегам