我的swiper在首页,在BottomNavigationBar点击切换回来之后,首页的swiper就会快速的循环,然后过一会正常。
很明显,要么是数据的问题,要么是swiper配置的问题。
处理数据代价太大,原则上也不太合理,那只能从配置下手。
SwiperController _swiperController;
@override
void initState() {
super.initState();
_scrollController = ScrollController()..addListener(() {});
_swiperController = new SwiperController();
_swiperController.startAutoplay();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: Column(
children: [
Container(
child: Swiper(
……
loop: false,
autoplay: false,
controller: _swiperController,
……
),
),
],
),
);
}
@override
void dispose() {
_swiperController.stopAutoplay();
_swiperController.dispose();
super.dispose();
}
autoplay 设置为false,loop 也设置为false,用swiperController在生命周期里控制自动播放就行,不影响效果的