flutter 实现定时滚动的公告栏的两种不错方式

相同的部分

自定义一个类继承StatefulWidget

所有公告信息存放在list里

第一种 scrollController+AnimatedContainer

逻辑如下

  1. 我们可以发现启动了一个timer计时器计时5秒,hasClients检查其目标对象(我们用的是listview)是否被渲染,没有被渲染会出大乱子
  2. 另外,currentPostion根据当前偏移量得出,下一个position根据当前偏移量加上一个view的高度
  3. 同时进行检查是否滚动超过了最大可以滚动的量,没有超过久继续滚动,有动画效果,超过了证明该回到一切的开始了

效果如下

接下来会滚动到下一个公告

第二种 直接变化widget+AnimatedSwitcher

很多时候我们不方便或者不想为这个公告添加scrollController,就需要采用如下方式

这里我们直接变化了messages的index

然后在widget控件内,

  1. container包裹animatedSwitcher,
  2. animatedSwitcher的child为row,
  3. row的key为ValueKey<int>(_currentIndex)

这样就可以实现key变换,采用定义的transitionBuilder效果来变化公告内容

效果如下

相关推荐
Sindyue15 小时前
flutter项目老是卡在Running Gradle task ‘assembleRelease‘......
flutter
西西学代码15 小时前
Flutter---泛型
flutter
写不完的程序15 小时前
Flutter 3.38 版本发布了,看看有哪些新特性
flutter
QuantumLeap丶17 小时前
《Flutter全栈开发实战指南:从零到高级》- 14 -网络请求与数据解析
flutter·ios·dart
程序员老刘18 小时前
华为小米都在布局的多屏协同,其实Android早就有了!只是你不知道...
android·flutter
清凉夏日18 小时前
Flutter 国际化完整指南
前端·flutter
猫林老师18 小时前
Flutter for HarmonyOS开发指南(九):测试、调试与质量保障体系
flutter·wpf·harmonyos
猫林老师19 小时前
Flutter for HarmonyOS开发指南(五):性能调优与性能分析全攻略
flutter·华为·harmonyos
全栈派森1 天前
初见 Dart:这门新语言如何让你的 App「动」起来?
android·flutter·ios
恋猫de小郭1 天前
Dart 3.10 发布,快来看有什么更新吧
android·前端·flutter