| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Flutter中的动画 -> 正文阅读 |
|
[移动开发]Flutter中的动画 |
今天来学习一下Flutter中的动画。我们在js+css中,已经习惯用css3中的animation,transform,transition这三个加在一起去做。
我们像前端那样,先从静态的变换中谈论。
一、变换组件
在css中如果要先让一个元素发生平移,使用的是transform:translate,那么在flutter中,已经封装起组件进行使用,只用填入平移的位置就可以。
1、平移
?
2、旋转
3、缩放
二、动画
这个时候我们做了一个基本的布局的变换了,我们就会想,怎么样让它动起来呢?
在css中我们就是使用animation 来实现。那么在flutter里面,提供了三个东西来实现动画的效果。我们先不去看原理,直接看一份可以运行的代码。这样有个概念。
可以看到这个时候头像旋转起来了。下面我们来分析一下是如何实现的,
![]()
首先我们来看build,在这里是用到了一个RotationTransition组件,分别设置了动画的旋转中心、动画的控制器、还有动画的内容布局。如果需要用到别的动画组件,可以参考这里
https://flutterchina.club/widgets/animation/
接下来,重点来了
我们在UserLogoWidget这个类里面创建了两个变量,分别是controller和animation,然后在initState中分别初始化了这两个变量。其中controller是用来管理动画的进程,启动动画、重置动画等。animation则是用来管理整个动画,比如动画播放的曲线和状态。然后我们创建了一个动画变化的曲线cure,它用来指定动画变化的曲线过程。
接下里我们来详细了解一下Flutter中对动画抽象的四个角色
1、Animation
Animation是一个抽象类,它保存着动画的和状态。Animation对象在动画执行的过程中输出的值由curve来决定,
2、Curve
Flutter中通过Curve来描述动画过程,我们把匀速动画成为线性的,非匀速的称为非线形的。
3、AnimationController
AnimationController用来控制动画,它包含动画的启动forward()、停止stop()、反向播放reverse();AnimationController会在动画的每一帧生成一个值。
4、Tween
Tween生成不同范围或数据类型的值,它用来定义从输入范围到输出范围到映射。也就是变化范围。要使用Tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值
animation = Tween(begin: 0.0, end: 30.0).animate(curve)
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/19 3:08:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |