我已经做了一个PageView
,作为一个图像轮播。我如何让它在Flutter中的一些延迟后在页面之间无限地自动滚动?
new PageView(
children: List<Widget> {
new Container(
decoration: BoxDecoration(
image: DecorationImage(image: new AssetImage(images[0]),
fit: BoxFit.cover
)
)
),
new Container(
decoration: BoxDecoration(
image: DecorationImage(image: new AssetImage(images[1]),
fit: BoxFit.cover
)
)
),
new Container(
decoration: BoxDecoration(
image: DecorationImage(image: new AssetImage(images[2]),
fit: BoxFit.cover
)
)
)
}
)
3条答案
按热度按时间ubof19bj1#
您需要将
PageController
添加到PageView
。然后在initState()
上你可以启动一个Timer.periodic()
,你只需要从一个页面跳到另一个页面。就像这样:注意:当处理页面或其他事件时,您必须取消计时器。
顺便说一下,你需要导入
'dart:async'
来使用Timer
。drkbr07n2#
@GaboBrandX的答案是正确的,所以我添加了一些代码来反转动画,例如,它将从0,1,2页开始动画,当到达终点时,它将反转到2,1,0。
vuktfyat3#
对我来说最有效的方法是实现动画控制器。
AnimationController
和Animation
。页面视图中的StatefulWidget
与page controller
内部。