Flutter 轮播图 flutter_swiper属性说明使用

今天分享的内容是关于图片轮播的实现,使用到的库是flutter_swiper,如果有出现空检查报错的,可以使用flutter_swiper_null_safety

轮播图效果如下:

 

先贴出基本参数详解:

参数说明
itemBuilder列表的构造
indicatorLayout指示器的类型,如带颜色的、可以放大的等等
itemCount轮播列表的数量
autoplay是否自动轮播
layout构建轮播的布局
autoplayDelay自动轮播之间的间隔
duration轮播动画时长
onIndexChanged轮播切换的监听
index初始位置
onTap轮播的点击事件
control左右箭头
loop是否循环轮播
scrollDirection轮播方向
pagination指示器样式
customLayoutOption动画效果
viewportFraction当前视窗比例,小于1时就会在屏幕内,可以看见旁边的轮播图
itemHeight单个轮播的高度
itemWidth单个轮播的宽度
scale轮播图之间的间距

(一)添加依赖并引入

添加依赖:

flutter_swiper: ^1.1.6

  flutter_swiper_null_safety: ^1.0.2

(二)普通的横向/竖向轮播,效果如开头gif中的第一种第三种

代码如下:

Swiper(itemCount: _imageList.length,itemBuilder: (context, index) {return Image.network(_imageList[index],fit: BoxFit.cover,);},autoplay: true,//自动轮播onIndexChanged: (index) {},//引起下标变化的监听onTap: (index) {},//点击轮播时调用duration: 1000,//切换时的动画时间autoplayDelay: 2000,//自动播放间隔毫秒数.autoplayDisableOnInteraction: false,loop: true,//是否无限轮播scrollDirection: Axis.horizontal,//滚动方向index: 0,//初始下标位置scale: 0.6,//轮播图之间的间距viewportFraction: 0.8,//当前视窗比例,小于1时就会在屏幕内,可以看见旁边的轮播图indicatorLayout: PageIndicatorLayout.COLOR,pagination: new SwiperPagination(),//底部指示器control: new SwiperControl(), //左右箭头)

换成竖直轮播的代码如下:

//滚动方向scrollDirection: Axis.vertical

以上效果会有缩放的样式,如果想要普通的不进行缩放的,可以将以下参数删除:

 scale: 0.6,//轮播图之间的间距viewportFraction: 0.8,//当前视窗比例,小于1时就会在屏幕内,可以看见旁边的轮播

(三)效果图中的第二种

使用下方的参数实现效果:

 layout: SwiperLayout.TINDER

其他的参数和上面的情况一致

(四)效果图中的第四种,带有自定义动画的

代码如下:

Swiper(itemWidth: 300,itemHeight: 200,layout: SwiperLayout.CUSTOM,customLayoutOption: new CustomLayoutOption(startIndex: -1, stateCount: 3).addRotate([-45.0 / 180, 0.0, 45.0 / 180]).addTranslate([new Offset(-370.0, -40.0),new Offset(0.0, 0.0),new Offset(370.0, -40.0)]),autoplay: true,duration: 2000,itemBuilder: (context, index) {return new Container(decoration: BoxDecoration(borderRadius: BorderRadius.all(Radius.circular(10)),image: DecorationImage(image: NetworkImage(_imageList[index]),fit: BoxFit.fill)),);},itemCount: _imageList.length,indicatorLayout: PageIndicatorLayout.COLOR,pagination: SwiperPagination(alignment: Alignment.bottomCenter,builder: FractionPaginationBuilder(activeColor: Colors.grey,color: Colors.black,fontSize: 20,activeFontSize: 25)),//底部指示器)

customLayoutOption用来自定义位移与旋转的动画

(五)自定义指示器

参数说明
pagination定义指示器,对应的是SwiperPagination组件

SwiperPagination组件的参数如下:

参数说明
alignment指示器的位置
margin指示器与父组件的间距
builder指示器的样式,对应的是SwiperPlugin的子类

builder对应的组件主要有以下几种:

  • FractionPaginationBuilder 数字指示器
  builder: FractionPaginationBuilder(activeColor: Colors.grey,color: Colors.black,fontSize: 20,activeFontSize: 25)
  • RectSwiperPaginationBuilder 矩形指示器
 builder: RectSwiperPaginationBuilder(activeColor: Colors.red,color: Colors.grey,size: Size(20, 10),activeSize: Size(20, 10))),
  • DotSwiperPaginationBuilder 圆形指示器
builder: DotSwiperPaginationBuilder(color: Colors.grey,activeColor: Colors.red,size: 10.0,activeSize: 20.0,space: 5.0)

到此为止,使用flutter_swiper实现轮播效果就介绍完了,要是觉得有用记得点个赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【物联网无线通信技术】LoRa从理论到实现(SX1268)

文章先从LoRa的物联网通信技术前辈们讲起,慢慢引出了这种功耗又低,距离又远的无线通信技术,然后又似庖丁解牛一般,从物理层到链路层,详细的介绍了LoRa这种技术的组成,最后以一种实际的原理与嵌入式软件实现…

AI 如何应对 DevOps 监控和可观察性挑战

持续监控和可观察性用例 CI异常检测: AI可以分析历史数据以检测持续集成阶段的异常。任何不寻常的变化都可以在进入下一阶段之前进行标记以供审查。IBM Watson AnomalyDetection 等工具可以通过使用 AI 检测模式和异常情况来帮助识别这些异常情况。 代码质量保证&…

在SpringBoot中对es集群的查询操作

在进行查询之前要先给ll索引中插入数据: POST /ll/product/1 {"id":1,"title": "小米手机Mix","category": "手机","brand": "小米","price": 2899.00,"images": "http://ima…

51单片机驱动 mg996r金属舵机 STC89C52单片机直接驱动金属大舵机

/*无论是大舵机&#xff0c;还是小舵机&#xff0c;控制方法都一样会区别在 大舵机只能接P0口&#xff08;此口外接上拉&#xff0c;驱动电流最大&#xff09;小舵机任意口 */ //#include<reg51.h> //#define uint unsigned int //#define uchar unsigned char //sbit S…

Django框架-6

向服务器传参 通过url - path传参 path(articles/<int:year>/<int:month>/<slug:slug>/, views.article_detail),查询字符串方式传参 http://localhost:8000?key1value1&key2value2 ;&#xff08;body&#xff09;请求体的方式传参&#xff0c;比如文…

Mysql数据NULL避坑指南

NULL空值是mysql中一种特殊的数据值&#xff08;即"缺少的未知值"&#xff09;,NULL和字符串空值不是一回事&#xff0c;处理NULL与其他值不同&#xff0c;下面具体阐述相关差异&#xff1a; 一、NULL运算符 1、普通数据使用 > 、 < 、即可做常用的逻辑运算如…

前端学习——jsDay4

函数 函数使用 小练习 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…

Linux文件理解和系统调用

本文已收录至《Linux知识与编程》专栏&#xff01; 作者&#xff1a;ARMCSKGT 演示环境&#xff1a;CentOS 7 文件理解和系统调用 前言正文文件概念文件描述符文件描述符概念文件管理关于 files_struct文件描述符的分配一切皆文件思想 C语言文件操作文件的打开与关闭文件读写 文…

github中Mermaid的用法

这个东西是最近推出&#xff0c;首先是自己的repository中新建一个readme.md文件 需要一点前端的知识&#xff0c;就是先导入一个依赖文件&#xff0c;然后再写甘特图&#xff0c;如下&#xff1a; ### 甘特图 [<a href"https://mermaid-js.github.io/mermaid/#/gant…

RabbitMQ保证消息的可靠投递,Java实现RabbitMQ消息的可靠投递,Springboot实现RabbitMQ消息的可靠投递

文章目录 一、RabbitMQ消息可靠性概述1、引出问题2、RabbitMQ消息可靠性保证的四个环节 二、保证生产者消息发送到RabbitMQ服务器1、服务端确认&#xff1a;Transaction模式&#xff08;1&#xff09;JavaAPI&#xff08;2&#xff09;springbootAPI 2、服务端确认&#xff1a;…

峰会来袭 | CAD模型转换工具选择的难点和关键点解答

作为世界顶尖的3D软件开发SDK和CAD模型转换工具——HOOPS Exchange已问世十多年&#xff0c;深受开发者好评&#xff0c;并在工业测量、机械加工、造船设计等领域都有广泛的应用。 本次峰会将围绕CAD软件造型技术的多样性、CAD模型数据解析的难点、3D模型转换的经典问题等&…

AI绘画结合GPT 把Ai绘画与摄影玩明白

一、绘画与摄影有什么关系&#xff1f; 绘画和摄影是两种不同的艺术形式&#xff0c;它们都以其自身独特的方式捕捉和表达现实。在某些方面&#xff0c;它们是相互联系的&#xff0c;而在其他方面&#xff0c;它们又有所不同。​ 相似之处&#xff1a;绘画和摄影都是创造性的…