题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。

** 你可能需要
CSDN 网易云课堂教程
掘金 EDU学院教程
知乎 Flutter系列文章

在Flutter 中实现透明度渐变效果的方式可通过以下

  • 通过 AnimatedOpacity 实现 点击查看这里
  • 通过 FadeTransition实现点击查看这里
  • 透明组件 Opacity 实现 就是本文了
  • 通过颜色改变实现透明度渐变效果

本文章将实现通过 Opacity 组件来 实现透明度渐变动画效果,实现效果如下


在Flutter 中 Opacity 组件用来设置子 Widget 的透明度,Opacity 的属性 opacity 是用来配置透明度的,取值范围为 0.0~1.0 ,0.0 为完全透明 ,1.0这不透明 , 基本使用代码如下:

  Opacity buildOpacity() {return Opacity(///当前的透明度opacity: 0.8,///子Widgetchild: Container(height: 220.0,width: 220.0,color: Colors.blue,),);}

在这里通过 Opacity 组件实现透明度过渡的思路是来源于动态修改 opacity 值而达到的变化
动画效果,所以这里结合了一个 AnimationController 来控制变化曲线使用,代码如下:

class AnimatedOpacityPage2 extends StatefulWidget {@override_AnimatedOpacityPageState createState() => _AnimatedOpacityPageState();
}class _AnimatedOpacityPageState extends State<AnimatedOpacityPage2> with TickerProviderStateMixin {///当前页面显示组件的透明度double opacityLevel = 0.0;@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("透明度动画"),),///线性布局将透明组件与滑块上下排列body: Column(///子组件顶部对齐mainAxisAlignment: MainAxisAlignment.start,children: [///构建透明组件Opacity(///当前的透明度opacity: opacityLevel,///子Widgetchild: Container(height: 220.0,width: 220.0,color: Colors.blue,),),],),);}}

在这里声明了一个 AnimationController 来动态的控制 透明度动态变化规律,一般在 initState 初始化函数中进行创建,代码如下):

//动画控制器AnimationController controller;@overridevoid initState() {super.initState();///在这里 controller 的值在2秒内从0过渡到1controller = AnimationController(///duration 为正向执行动画的时间duration: Duration(seconds: 2),///反向执行动画的时间reverseDuration: Duration(milliseconds: 3000),///controller的变化的最小值lowerBound: 0.0,///controller变化的最大值upperBound: 1.0,///绑定页面的Tickervsync: this);///添加动画实时更新监听controller.addListener(() {///获取AnimationController执行的值opacityLevel = controller.value;setState(() {});});
}... ... 省略
}

然后在点击按钮时开始动画 如下:

 RaisedButton(child: Text('正向开启动画'),onPressed: () {///重置动画controller.reset();///向前执行controller.forward();},
),

通过 forward 正向开启动画 ,是从 0.0 ~ 1.0 的过程,是由不透明变为透明的过渡,然后再由1.0~0.0 是由不透明变为透明的过渡 ,反向执行一下就可以,代码如下:

 RaisedButton(child: Text('反向开启动画'),onPressed: () {///反向前执行controller.reverse();},)

完毕

Flutter透明度渐变动画Opacity实现透明度渐变动画效果相关推荐

  1. Flutter透明度渐变动画FadeTransition实现透明度渐变动画效果

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 在Flutter 中实 ...

  2. html中图片透明度渐变效果,css怎么设置透明度渐变?

    css怎么设置透明度渐变?下面本篇文章给大家介绍一下使用CSS设置透明度渐变效果的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css怎么设置透明度渐变? 在CSS中可以使用 ...

  3. 09.CSS3渐变、过渡、转换、动画

    CSS3渐变 (1).什么是渐变 CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用 CSS3 渐变(gradi ...

  4. CSS3渐变、过渡、转换、动画

    1.CSS3渐变 (1).什么是渐变 CSS3渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用CSS3渐变(gradie ...

  5. android listview下拉动画效果,Android开发中利用ListView实现一个渐变式的下拉刷新动画...

    Android开发中利用ListView实现一个渐变式的下拉刷新动画 发布时间:2020-11-23 16:50:31 来源:亿速云 阅读:80 作者:Leah 本篇文章给大家分享的是有关Androi ...

  6. iOS 动画绘制线条颜色渐变的折线图

    效果图 .................... 概述 现状 折线图的应用比较广泛,为了增强用户体验,很多应用中都嵌入了折线图.折线图可以更加直观的表示数据的变化.网络上有很多绘制折线图的demo,有 ...

  7. CSS3线性、径向渐变、旋转、缩放、动画实现王者荣耀匹配人员加载页面

    前言 日子总是像从指尖流过的细沙,在不经意间悄然的滑落.转眼2019年第一季度已经过去了,提前祝大家愚人节快乐,当心被人愚弄哦(就算被愚弄也不要生气啦). 先来看看今天要实现的效果原图: 玩过王者的应 ...

  8. Flutter 动画全解析(动画四要素、动画组件、隐式动画组件原理等)

    本文通过拆解 Flutter 中动画的实现方式以及原理来介绍动画实现的整个过程. 1. 动画四要素 动画在各个平台的实现原理都基本相同,是在一段时间内一系列连续变化画面的帧构成的.在 Flutter ...

  9. html css表格透明度,【总结】CSS透明度大汇总_html/css_WEB-ITnose

    近年来,CSS不透明算得上是一种相当流行的技术,但在跨浏览器支持上,对于开发者来说,可以说是一件令人头疼的事情.目前还没有一个通用方法,以确保透明度设置可以在目前使用的所有浏览器上有效. 这篇汇总主要 ...

最新文章

  1. JavaScript 异步编程--Generator函数、async、await
  2. MQTT---HiveMQ源代码具体解释(十八)Cluster-kryo与Serializer
  3. TCP/IP——基本知识
  4. SAP UI5 应用开发教程之三十一 - SAP UI5 的路由历史和路由回退(Routing back and history)试读版
  5. [Perforce系列—] 1. 使用Perforce 命令 与常用命令
  6. word2vec -- 负采样 -- skip-gram
  7. 37. 重定向 21
  8. 【转】SIP 中的Dialog,call,session 和 transaction
  9. java x86 x64_x86 版和x64版有什么区别?
  10. 健美运动员赛前脱水断碳_健美运动员在备赛期状态真的很差吗?
  11. java面试,经常遇到面试官的问题
  12. 利用CompletableFuture集齐7龙珠
  13. 智能路由器OpenWrt 开发环境 及 编译分析(一)
  14. 判断字母是元音、辅音、半元音
  15. 华为策略路由加等价路由_华为策略路由配置实例
  16. 【C语言作业7】猜数游戏:先由计算机“想”一个数请人猜,如果人猜对了,则计算机给出提示:“Right”,否则提示“Wrong”,并告诉人所猜的数是大还是小。
  17. LaTex论文排版 | (23) LaTex中的正上、正下标记以及各种箭头符号总结
  18. 阿里云中mysql数据库被攻击了,最终数据找回来了
  19. Android通过DownloadManager实现App的版本更新功能
  20. 30个 英文SEO内容推广平台整理

热门文章

  1. AI人脸识别真的成熟了吗?读完这篇你就懂了
  2. YOLOv3剪枝再升级!
  3. 基于PyTorch的CV框架,北大学生出品TorchCV
  4. 择天记服务器维护中,择天记修仙正统
  5. 游戏建模用什么软件,学游戏建模哪里好?
  6. 图形学大神纯FPGA实现Doom游戏芯片,无CPU、无操作码、无指令计数器
  7. 算法岗百里挑一热爆了,全球AI大厂薪酬大起底
  8. Bezier(贝塞尔)曲线(三阶)的轨迹规划在自动驾驶中的应用(四)
  9. python字典键值可以是元组或列表吗_Python列表、元组、字典、集合的内置使用方法...
  10. mysql自动定时备份数据,mysql数据库自动定时备份脚本