【问题标题】:how to make the items of listView Continuous changing dynamicly in FlutterFlutter中如何让listView的item连续动态变化
【发布时间】:2021-11-03 19:29:27
【问题描述】:

那里。我开始学习 Flutter 中的动画,但我不知道如何让 item 的 listview 像这个视频一样自动显示:see this video

【问题讨论】:

  • 我用了这个包,它很有用flutter_banner_swiper:^0.1.4

标签: android flutter dart listview


【解决方案1】:

你可以使用这个包(https://pub.dev/packages/flutter_banner_swiper)。或者看看这个存储库并在它的帮助下进行自定义。

还有另一个带有 null-safety 的包(https://pub.dev/packages/banner_carousel)

【讨论】:

  • @kopoyo 如果有帮助,请将其标记为正确答案。这对其他人会有所帮助。
  • 不幸的是这个包不支持空安全。
  • @kopoyo 检查以上包
  • 我发现这个包很有效:flutter_banner_swiper: ^0.1.4
【解决方案2】:

看看PageView 类。

对于自动滚动,您可以查看 Timer 和 PageController

这是实现该目标的示例方法:

声明控制器和页码

int _currentPage = 0;
PageController _pageController = PageController(
  initialPage: 0,
);

启动计时器,然后使用 PageController 导航到下一个项目

@override
void initState() {
  super.initState();
  Timer.periodic(Duration(seconds: 5), (Timer timer) {
    if (_currentPage < 2) {
      _currentPage++;
    } else {
      _currentPage = 0;
    }

    _pageController.animateToPage(
      _currentPage,
      duration: Duration(milliseconds: 350),
      curve: Curves.easeIn,
    );
  });
}

最后用视图调用build方法

@override
Widget build(BuildContext context) {
  return PageView(
      controller: _pageController,
      children: [
        Container(
          child: Text("1"),
        ),
        Container(
          child: Text("2"),
        ),
        Container(
          child: Text("3"),
        ),
      ],
    );
}
 

【讨论】:

  • 感谢@soumik-bhattacharjee,您是否有任何已经存在的提供此动画的插件或小部件,或者您能向我解释如何在 listView 构建器小部件中实现此计时器。
  • Ok 添加了如何实现这一壮举的示例代码。没有测试,因为我现在不在我的 IDE 上,但是过程应该是这样的
  • 谢谢兄弟,但我不想要当前页面,因为我有其他小部件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 2020-12-26
相关资源
最近更新 更多