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效果来变化公告内容

效果如下

相关推荐
2401_882351521 小时前
Flutter for OpenHarmony 商城App实战 - 购物车实现
java·flutter·dubbo
嘴贱欠吻!1 小时前
Flutter鸿蒙开发指南(二):组件类型与状态管理
flutter
向前V2 小时前
Flutter for OpenHarmony 二维码扫描App实战 - 关于实现
开发语言·javascript·flutter
世人万千丶2 小时前
鸿蒙跨端框架 Flutter 学习 Day 3:性能进阶——Iterable 延迟加载与计算流的智慧
学习·flutter·ui·华为·harmonyos·鸿蒙·鸿蒙系统
夜雨声烦丿2 小时前
Flutter 框架跨平台鸿蒙开发 - 打造全能健康指数计算器,BMI/体脂率/热量/饮水一站式管理
flutter·华为·harmonyos
IT陈图图2 小时前
基于 Flutter × OpenHarmony 的个人中心— 主要设置内容区域实现解析
flutter·鸿蒙·openharmony
2401_zq136y032 小时前
Flutter for OpenHarmony:从零搭建今日资讯App(二十七)图片缓存的完整方案
flutter·缓存
夜雨声烦丿2 小时前
Flutter 框架跨平台鸿蒙开发 - 打造实时汇率换算器,支持20+货币与离线模式
flutter·华为·harmonyos
时光慢煮2 小时前
基于 Flutter × OpenHarmony 开发的去除空行 / 多余空格工具实战
flutter·华为·开源·openharmony
时光慢煮3 小时前
基于 Flutter × OpenHarmony 开发的字数统计小工具实践
flutter·openharmony