flutter 轮播图

引言:记录一下flutter的学习成果,今天来写flutter实现的轮播图
1,首先添加依赖
在这里插入图片描述
2.使用起来很简单

 Swiper(
                  itemCount: swiperDateList.length,
                  itemBuilder: (BuildContext context, int index) {
                    return ClipRRect(
                        borderRadius:
                            BorderRadius.circular(ScreenUtil().setHeight(30)),
                        child: Image.network(swiperDateList[index]['image'],
                            fit: BoxFit.fitWidth));
                  },
                  pagination: SwiperPagination(),
                  autoplay: true,
                ),

完整代码

//首页轮播组件
class SwiperDiy extends StatelessWidget {
  List swiperDateList;
  // SwiperDiy({Key key, this.swiperDateList}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
        future: Provider.of<TrendListProvider>(context, listen: false)
            .getBannerList(),
        builder: (context, snapshot) {
          swiperDateList =
              Provider.of<TrendListProvider>(context).swiperDateList;
          if (snapshot.hasData||(null!=swiperDateList&&swiperDateList.length>1)) {
            if (null == swiperDateList || swiperDateList.length < 1) {
              return Center(
                child: Text('Loading...'),
              );
            } else {
              return Container(
                height: ScreenUtil().setHeight(364),
                width: ScreenUtil().setWidth(690),
                margin:
                    EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(30)),
                decoration: BoxDecoration(
                    borderRadius: BorderRadius.all(
                        Radius.circular(ScreenUtil().setHeight(30)))),
                child: Swiper(
                  itemCount: swiperDateList.length,
                  itemBuilder: (BuildContext context, int index) {
                    return ClipRRect(
                        borderRadius:
                            BorderRadius.circular(ScreenUtil().setHeight(30)),
                        child: Image.network(swiperDateList[index]['image'],
                            fit: BoxFit.fitWidth));
                  },
                  pagination: SwiperPagination(),
                  autoplay: true,
                ),
              );
            }
          } else {
            return Center(child: Text('Loading...2'));
          }
        });
  }
}

效果图:
轮播效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值