FLutter Swiper插件踩坑之旅 ScrollController not attached to any scroll views报错

FLutter Swiper插件踩坑之旅

1.flutter_swiper必须包裹在container中

Container(
      child:
         AspectRatio(
           aspectRatio: 20/9,
           child: Swiper(
             key: UniqueKey(),
             itemBuilder: (BuildContext context, int index) {
               return new Image.network(
                 _Swiperlist[index]["path"].length>0?_Swiperlist[index]["path"]:"https://kt-1301681474.cos.ap-shanghai.myqcloud.com/app/rot/lbt_20200425181036.png",
                 fit: BoxFit.fill,
               );
             },
             itemCount: _Swiperlist.length,
             viewportFraction: 0.8,
             scale: 0.9,
           ),
         )
     )

2.避免轮播图尺寸在各设备上失真

采用AspectRatio来绑定尺寸

AspectRatio(
           aspectRatio: 20/9,

3.接口中获取轮播图引发的一系列错误

Flutter Swiper是一个轮播图组件,内部包含一个Widget List,当这个Widget List数量发生变化的时候如果出现类似这种异常情况导致轮播图不滑动或者其他红屏等错误,

ScrollController not attached to any scroll views.

在这里插入图片描述

解决办法

给Swiper加一个LocalKey即可解决,我这里加了个UniqueKey,属于一个LocalKey

AspectRatio(
    aspectRatio: 20/9,
       child: Swiper(
         key: UniqueKey(),
         itemBuilder: (BuildContext context, int index) {
           return new Image.network(
             _Swiperlist[index]["path"].length>0?_Swiperlist[index]["path"]:"https://kt-1301681474.cos.ap-shanghai.myqcloud.com/app/rot/lbt_20200425181036.png",
             fit: BoxFit.fill,
           );
         },
         itemCount: _Swiperlist.length,
         viewportFraction: 0.8,
         scale: 0.9,
       ),
     )
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值