Flutter轮播图入坑记录

电脑刚刚配置了FLutter,打算做一个轮播图的效果,于是全网搜索实现轮播图得效果,大部分提到了flutter_swiper
于是我运行命令

安装包问题

flutter pub add flutter_swiper

报错了,提示空安全
在这里插入图片描述
从网上查找方法,可以运行命令来修复

pub upgrade --null-safety

很遗憾,又报错了,我的dart是3.0,这个不再支持
在这里插入图片描述

解决问题:

那么继续查找,发现这个包flutter_swiper_null_safety可以用,运行命令

flutter pub add flutter_swiper_null_safety

这次终于安装成功了
在这里插入图片描述

开始编程吧

加载网络图片



class MyHomePage extends StatefulWidget {
  MyHomePage({required this.title}) : super();

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<Map> imgList = [
    {"url": "http://xxx/images/123.png"},
  ];

  @override
  Widget build(BuildContext context) {
    return new Scaffold(

      body: new Swiper(
          itemBuilder: (BuildContext context, int index) {
            return Container(
                // width: 300,
                child: AspectRatio(
                    aspectRatio: 4.0 / 3.0,
                     child: Image.network(
                      imgList[index]["url"],
                      fit: BoxFit.cover,
                    )));
      
          },
          itemCount: imgList.length,
          // pagination: new SwiperPagination(),
          // //下面的分页小点
          loop: true,
          autoplay: false,
          autoplayDelay:8000,
//        control: new SwiperControl(),  //左右的那个箭头,在某模拟器中会出现蓝线
          ),
    );
  }
}

加载本地图片

在根目录下新建文件夹images,当然可以其他得名字

在这里插入图片描述
配置pubspec.yaml
增加如下

  assets:
     - images/

在这里插入图片描述



class MyHomePage extends StatefulWidget {
  MyHomePage({required this.title}) : super();

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<Map> imgList = [
    {"url": "images/123.png"},


  ];

  @override
  Widget build(BuildContext context) {
    return new Scaffold(

      body: new Swiper(
          itemBuilder: (BuildContext context, int index) {
            return Container(
                // width: 300,
                child: AspectRatio(
                    aspectRatio: 4.0 / 3.0,
   
                    child: Image(
                      image:AssetImage(imgList[index]["url"]),
                      fit: BoxFit.contain,
                    )));
          },
          itemCount: imgList.length,
          // pagination: new SwiperPagination(),
          // //下面的分页小点
          loop: true,
          autoplay: false,
          autoplayDelay:8000,
//        control: new SwiperControl(),  //左右的那个箭头,在某模拟器中会出现蓝线
          ),
    );
  }
}

关注公众号

公众号:链接
回复flutter获取全部代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小~小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值