引言:记录一下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'));
}
});
}
}
效果图: