Carousel Builder from Future Builder and Firebase Flutter

You can edit other like slide padding and others as per design

  var _dataLength = 1;
  var _index;
  var slides;
  @override
  void initState() {
    getSliderImageFirebase();
    super.initState();
  }

  Future getSliderImageFromDB() async {
    var _fireStore = FirebaseFirestore.instance;
    QuerySnapshot snapshot = await _fireStore.collection('slider').get();
    if (mounted) {
      setState(() {
        _dataLength = snapshot.docs.length;
      });
    }
    return snapshot.docs;
  }
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        FutureBuilder(
          futuregetSliderImageFirebase(),
          builder: (contextAsyncSnapshot snap) {
            List slideList = snap.data.toList();
            return CarouselSlider.builder(
              itemCountslideList.length,
              itemBuilder: (contextindexpage) {
                return Image.network(
                  slideList[index]['image'],
                  fitBoxFit.fill,
                  widthMediaQuery.of(context).size.width * 0.9,
                );
              },
              carouselControllerbuttonCarouselController,
              optionsCarouselOptions(
                initialPage0,
                autoPlaytrue,
                height150,
                onPageChanged: (indexreason) {
                  setState(() {
                    _index = index;
                  });
                },
              ),
            );
          },
        ),
        DotsIndicator(
          dotsCount_dataLength,
          position_index.toDouble(),
          decoratorDotsDecorator(
            sizeconst Size.square(9.0),
            activeColorTheme.of(context).primaryColor,
            activeSizeconst Size(18.09.0),
            activeShapeRoundedRectangleBorder(
                borderRadiusBorderRadius.circular(5.0)),
          ),
        ),
      ],
    );
  }

Comments