做自由与创造的先行者

Flutter 动画

Flutter开发手册

动画类型

动画分为两类:基于tween或基于物理的。以下部分解释了这些术语的含义,并列出了一些相关的资源。 在一些情况下,我们最好的文档就是Flutter gallery中的示例代码。

补间(Tween)动画

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

上面列出的文档Flutter动画教程 并不是专门介绍补间动画的,但在其示例中使用了补间动画。

基于物理的动画

在基于物理的动画中,运动被模拟为与真实世界的行为相似。例如,当你掷球时,它在何处落地,取决于抛球速度有多快、球有多重、距离地面有多远。 类似地,将连接在弹簧上的球落下(并弹起)与连接到绳子上的球放下的方式也是不同。

Flutter Gallery在 Material Components , Grid 示例中演示了一个动画。从网格中选择其中一个图像并放大,然后您可以甩手或拖动平移图像。

另外请参阅 AnimationController.animateWith 和 SpringSimulation的文档

常见的动画模式

大多数UX或交互设计师发现在设计UI时有一些会经常使用的动画模式。本节列出了一些常用的动画模式,并告诉您可以在哪里了解更多。

动画列表或网格

此模式涉及在网格或列表中添加或删除元素时应用动画。

AnimatedList 示例此演示来自示例程序目录,演示如何将元素添加到列表或删除选定元素。 在用户使用加号(+)和减号( - )按钮时修该并同步列表。

共享元素转换

在这种模式中,用户从页面中选择一个元素(通常是一个图像),然后打开所选元素的详情页面,在打开详情页时使用动画。 在Flutter中,您可以使用Hero widget 轻松实现路由(页面)之间的共享元素过渡动画。

Hero 动画如何创建两种风格的 Hero 动画:在改变位置和大小的同时,hero从一页飞到另一页hero的边界从一个圆形变成一个正方形,同时它从一个页面飞到另一个页面

Flutter Gallery 您可以自己构建Gallery应用程序,也可以从Play商店下载(中国不行)。 其中 Shrine演示了包括hero动画的一个例子。

另外请参阅 Hero, Navigator 和 PageRoute 类的API文档。

交错动画

动画被分解为较小的动作,其中一些动作被延迟。较小的动画可以是连续的,或者可以部分或完全重叠。

交错动画(Staggered Animations) this doc is new! NEW

其它资源

在以下链接中了解更多关于Flutter动画的信息:

动画: 技术概述查看动画库中的一些主要类,以及Flutter的动画架构。

动画和运动(Motion) WidgetsFlutter提供的一些动画widget的目录

网站建设开发|APP设计开发|小程序建设开发
下一篇:Flutter 自定义字体
上一篇:Flutter 手势