思路
图片的左右滑动使用viewPager控件,为了实现无限轮播即尾页右滑到第一页,首页往前滑到尾页,在头部加入尾页,在尾页加入首页,例如如果有四页,要添加两页形成6页,这样滑动的时候快速调转用户是无感知的;实现自动轮播需要添加一个定时器,每隔几秒进行滑动到下一页,但在手动滑动的时候需要取消定时任务,滑动结束开始定时任务。
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:jxzq/widget/DotsIndicator.dart';
//图片banner
class ImageBanner extends StatefulWidget {
ImageBanner(this.imagePath,
{this.limitless = false,
this.autoPlay = false,
this.autoPlayDuration = 2});
final List<String> imagePath;
final bool limitless; //是否无限轮播
final bool autoPlay; //是否自动播放,只在limitless=true时有效
final int autoPlayDuration;