如何让 Indicator 没有图像颤动

How to put Indicator no image flutter

如何穿上像设计一样的形象。我是在 youtube 上学习的,但教程只有外面,我尝试使用 Carousel_Pro 但它不能使用,因为它不是 nullSafety 。

Center(
                      child: CarouselSlider(
                    carouselController: _carouselController,
                    options: CarouselOptions(
                        initialPage: 0,
                        height: MediaQuery.of(context).size.height * 0.23,
                        viewportFraction: 1.0,
                        enlargeCenterPage: false,
                        onPageChanged: (index, reason) =>
                            setState(() => activeIndex = index)
                        // autoPlay: false,
                        ),
                    items: imageList
                        .map((item) => Container(
                              child: ClipRRect(
                                  borderRadius: BorderRadius.circular(10.0),
                                  child: SizedBox(
                                      height:
                                          MediaQuery.of(context).size.height *
                                              1,
                                      width:
                                          MediaQuery.of(context).size.width * 1,
                                      child: Image.network(
                                        item,
                                        fit: BoxFit.cover,
                                        height:
                                            MediaQuery.of(context).size.height *
                                                1,
                                      ))),
                            ))
                        .toList(),
                  )),
                  buildIndicator(),

使用 Stack 小部件:https://api.flutter.dev/flutter/widgets/Stack-class.html

它将帮助您将小部件一个堆叠在另一个而不是一个堆叠在另一个

Center(
                      child: CarouselSlider(
                    carouselController: _carouselController,
                    options: CarouselOptions(
                        initialPage: 0,
                        height: MediaQuery.of(context).size.height * 0.23,
                        viewportFraction: 1.0,
                        enlargeCenterPage: false,
                        onPageChanged: (index, reason) =>
                            setState(() => activeIndex = index)
                        // autoPlay: false,
                        ),
                    items: imageList
                        .map((item) => Container(
                              child: ClipRRect(
                                  borderRadius: BorderRadius.circular(10.0),
                                  child: SizedBox(
                                      height:
                                          MediaQuery.of(context).size.height *
                                              1,
                                      width:
                                          MediaQuery.of(context).size.width * 1,
                                      child: Image.network(
                                        item,
                                        fit: BoxFit.cover,
                                        height:
                                            MediaQuery.of(context).size.height *
                                                1,
                                      ))),
                            ))
                        .toList(),
                  )),
                imageList.lenght> 0?  buildIndicator() : SizedBox(),