Flutter AnimatedOpacity 实现透明度渐变动画效果
题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。
在Flutter 中实现透明度渐变效果的方式可通过以下
- 通过 AnimatedOpacity 实现 就是本文了
- 通过 FadeTransition实现 点击查看这里
- 透明组件 Opacity 实现
- 通过颜色改变实现透明度渐变效果
本文章将实现通过 AnimatedOpacity 实现透明度渐变效果,实现效果如下
如上图所示效果,其实使用 AnimatedOpacity 组件就可简单的实现,代码如下:
///当前页面显示组件的透明度double opacityLevel = 1.0;///构建透明动画组件[AnimatedOpacity]AnimatedOpacity buildAnimatedOpacity() {return AnimatedOpacity(///透明度opacity: opacityLevel,///过渡时间duration: Duration(milliseconds: 2000),///动画插值器curve: Curves.linear,///动画过渡完毕的回调onEnd: () {},///子Widgetchild: Container(color: Colors.red,),);}
使用 AnimatedOpacity 组件时,当配置的 opacityLevel 透明度属性发生变化并且调用了 setState方法后,AnimatedOpacity 组件会通过 透明度渐变的方式 将子 Widget 在配置的 Duration 时间内动态的过渡 ,如 由 1.0 变为 0.0 ,AnimatedOpacity 修饰的 子 Widget 的透明度会由 1.0 在配置的 Duration 时间内 慢慢的过渡到 0.0 ,而不是一下子就过渡到了 0.0 ,呈现出一个视觉上透明渐变的效果。
AnimatedOpacity 是一个轻量级的实现渐变动画效果的组件,实际应用场景如视频播放页面,点击视频页面渐变方式显示 暂停按钮,然后延时一会再以渐变的方式隐藏。
上述图片中的完整代码如下所示:
///透明渐变动画效果实现
class AnimatedOpacityPage extends StatefulWidget {@override_AnimatedOpacityPageState createState() => _AnimatedOpacityPageState();
}class _AnimatedOpacityPageState extends State<AnimatedOpacityPage> {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("透明度动画"),),body: Column(mainAxisAlignment: MainAxisAlignment.start,children: [Container(height: 120.0,width: 120.0,///背景color: Colors.blue[50],child: buildAnimatedOpacity(),),RaisedButton(child: Text('修改透明度'),onPressed: () {setState(() => opacityLevel = opacityLevel == 0 ? 1.0 : 0.0);},),],),);}///当前页面显示组件的透明度double opacityLevel = 1.0;///构建透明动画组件[AnimatedOpacity]AnimatedOpacity buildAnimatedOpacity() {return AnimatedOpacity(///透明度opacity: opacityLevel,///过渡时间duration: Duration(milliseconds: 2000),///动画插值器curve: Curves.linear,///动画过渡完毕的回调onEnd: () {},///子Widgetchild: Container(color: Colors.red,),);}
}
完毕
如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。
- Flutter 从入门 到精通系列文章在这里
- 当然也必需是要有源码的 在这里了
- github 有点慢 不妨来看看码云的源码吧
- 系列学习教程在这里
Flutter AnimatedOpacity 实现透明度渐变动画效果相关推荐
- Flutter透明度渐变动画Opacity实现透明度渐变动画效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 在Flutter 中实 ...
- Flutter透明度渐变动画FadeTransition实现透明度渐变动画效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 在Flutter 中实 ...
- flutter FadeTransition实现透明度渐变动画
更多文章请查看 flutter从入门 到精通 flutter 动画状态监听器 AnimationController //动画控制器AnimationController controller;//A ...
- Flutter SliverAnimatedOpacity 透明渐变动画效果
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...
- 悬停渐变特效html,CSS3 transition属性实现hover渐变动画效果
CSS3 transition属性实现hover渐变动画效果 我们知道许多网页动态特效都是由FLASH或JQUERY之类的JS特效库实现的实际上现在CSS3也能实现很多类似效果了,只是在各种浏览器中兼 ...
- jQuery中的渐变动画效果
jQuery中的渐变动画效果jQuery中的渐变动画效果 转载于:https://www.cnblogs.com/DreamDrive/p/5780292.html
- JS实现透明度渐变动画
<!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...
- android js 开屏动画,利用Flutter实现“孔雀开屏”的动画效果
前言 今天分享一个类似"孔雀开屏"的动画效果,打开新的页面时,新的页面从屏幕右上角以圆形逐渐打开到全屏. 先来看下具体的效果 不知道这种效果大家叫什么名字?如果有更合适的名字可以在 ...
- 仿当当App首页按钮渐变动画效果
昨天群里有个朋友说当当App首页顶部的那几个按钮渐变动画效果如何实现.然后果断安装了当当App,打开查看下是什么样的动画.来看下当当App首页: 可以看到当我滑动一些距离后,顶部三个浅红色的按钮从右边 ...
最新文章
- 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
- linux下使用gcp拷贝数据的时候显示进度条
- 产品经理经验谈50篇(五):如何做好一份通透的竞品调研
- 北京/苏州内推 | 微软STCA搜索广告算法团队招聘NLP算法工程师
- 如果java使用什么声明类_如果声明一个类时使用abstract修饰符,则表明该类是()_学小易找答案...
- 用java实现验证码(CAPTCHA)
- Oracle备份与恢复 关于expdp导出远程数据到本地的使用
- firework cs4入门
- 微信小程序登陆\code详解
- 【汇编语言】纯汇编语言编写打飞机小游戏
- 阿里云域名注册+服务器购买+备案教程
- 你尿尿的时长是不是21秒?2次登上Nature封面的他,靠研究拉尿获得“诺贝尔奖”.........
- 关于案例式C语言上机指导与习题解答中实验4_15题的解答
- MySQL8 的安装
- Android逆向工程-破解 哈皮妹-萝莉
- 帝国CMS之列表页调用父栏目下所有子栏目名称(带链接)
- xp无法发现win7计算机,什么原因导致windows xp系统电脑无法识别U盘
- 记录一下爬取微信小程序失败案例,fiddler抓包
- TrackingNet:最经典大规模、多样化的单目标跟踪数据集
- abaqus如何并行计算_如何修改abaqus并行计算的默认设置
热门文章
- 微软开源计算机视觉专题库,含分类、检测、分割、关键点、跟踪、动作识别等主流方向...
- 动态实例分割SOLOv2,更快更强更精准!
- Fellow观点:AI框架下的医疗影像教学
- 如何一行代码搞定SSD模型推理与结果解析
- 学计算机三本大学最低分数线,2018三本大学最低录取分数线是多少
- 计算机视觉论文-2021-06-30
- 收藏 | 从SGD到NadaMax,深度学习十种优化算法原理及实现
- html搞笑注释,9个最有趣的代码注释
- 时间序列异常检测 EGADS Surus iForest
- 基础知识(二)matlab与c++混合编程之经验笔记