通过此项目可以学习到 Container、AnimatedSwitcher、FadeTransition、ScaleTransition
等组件的基础用法,最终我们将构建一个灵动动画的录音状态切换按钮
这里按钮全部是用
Container
编写的,圆环
和圆形
都是Container
的属性效果,具体可以看下面的文章或视频
Container(
height: 80,
width: 80,
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
color: Color(0x999999).withOpacity(.3),
width: 3,
),
),
child: $blueWidget
),
// blueWidget
Container(
width: 70,
height: 70,
decoration: BoxDecoration(
color: Colors.blueAccent,
shape: BoxShape.circle,
),
child: #iconWidget
),
// iconWidget
Icon(
Icons.play_circle_filled,
color: Colors.white.withOpacity(.9),
size: 40,
)
// 录制状态
bool recroding = false;
AnimatedSwitcher(
duration: Duration(milliseconds: 200),
transitionBuilder:
(Widget child, Animation<double> animation) {
// 缩放动画
return ScaleTransition(
scale: animation,
// 渐隐渐显动画,保证切换不那么突兀的
child: FadeTransition(
child: child,
opacity: animation,
),
);
},
child: Icon(
// 通过控制状态改变icon
recroding
? Icons.pause_circle_filled
: Icons.play_circle_filled,
// 这一句是关键,如果不加上切换是没有效果的
key: ValueKey<bool>(recroding),
color: Colors.white.withOpacity(.9),
size: 40,
),
),
Android
原生做智能硬件相关的 App 研发Flutter
,然后开始自学,可以看 weather_flutter 是我练习 Flutter 的入门实战项目(我现在依然觉得他非常适合 Flutter 入门练习使用)Flutter
App,当前正在负责开发的一款 App 累计用户 120W+
,使用 Flutter
得到了极佳的体验1.我愿意,用一辈子的桃花运,来换一个对的人。 2.别的人十句话都不会伤到我,...
1.1 前言 目前收集整理了21个常用的javaScript正则表达式,其中包括用户名、密码...
一、问题 在好大夫在线内部,S3系统负责各业务方操作日志的集中存储、查询和管理...
Java基本数据类型 摘要 每个数据类型都有它的取值范围。编译器会根据每个变量或...
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,...
什么是mata标签 meta 元素可提供有关页面的元信息(meta-information),比如针...
JSP 开发之Spring Security详解 前言: spring Security是一个能够为基于Spring...
前言 我们前几篇讲了索引是什么,如何使用explain分析索引使用情况,如何去优化...
定位问题的时候知识、经验是关键基础数据是依据工具是运用知识处理数据的手段。 ...
为什么这么设计(Whys THE Design)是一系列关于计算机领域中程序设计决策的文章,...