Flutter | 通过一个小例子带你认识动画 Animation

个人创建了一个「Flutter 交流群」,可以添加我个人微信 「17610912320」来入群。

首先,我们知道在我们的APP中充斥着各种各样的动画,有的是用 GIF,有的用的 Flare,有的是用的 Lottie...。

而对于 Flutter 原生动画来说,也是非常强大的。

下面就是一个小小的例子:

640?wx_fmt=gif

底部箭头会 「向上移动并且逐渐透明,然后重复该动作」。

关于如何实现,后面再说,先来说一下 Flutter 中的动画基础知识。

动画类型

首先 Flutter 中的动画分为两类:

1.补间动画(Tween)2.基于物理的动画

其中我们常用的就是补间动画,补间动画的含义,引用「Flutter 中文网」的解释:

“介于两者之间”的简称。在补间动画中,定义了开始点和结束点、时间线以及定义转换时间和速度的曲线。然后由框架计算如何从开始点过渡到结束点。

其实动画就是以一连串的画面组成的,而补间动画就是根据时间来计算如何过渡,然后给我们展示一连串的画面。

Animation

Flutter 中的动画系统基于 「Animation」,「Widgets」 可以直接将这些动画合并到自己的 build 方法中来读取它们的当前值或者监听它们的状态变化,或者可以将其作为的更复杂动画的基础传递给其他 widgets。

Animation 是一个抽象类,它主要的功能就是保存动画的状态和值。

一般用 .addListener 方法来添加一个监听器,在这个监听器里你可以获取当前的状态和值,但是这个监听是只要有动作就会回调,如果只想要监听当前的状态,那么就只需要用 .addStatusListener 方法。

「Animation」 的状态有如下几种:

1.dismissed:一般情况,动画会从这个状态开始2.forward:运行时可能是这个3.reverse::运行时也可能是这个4.completed:完成的时候会变成这个

AnimationController

要创建动画,首先要创建一个 AnimationController。除了Animation本身,AnimationContro

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值