Flutter提供给你无数的方法来创建动画,这些动画可以定制到单帧的水平。
但有时候,你想要的只是一个默认过渡,一些看起来很棒很自然的动画,让你的应用程序更好看、可用性更高。
你知道谁会花很多时间去思考好看又好用的动画吗?
材料设计团队,该团队还维护了一个名为animations的Flutter包
这个包中有一些微妙但看起来很酷的动画,它们将帮助人们了解如何操作你的应用程序。
例如,假设你想从屏幕上的一个小元素过渡到一个详细页面,你可以使用OpenContainer,给它builders并返回closed和open小部件。
closed小部件在被点击打开之前,它可是是一张卡片,或一个按钮,或者一段文字——任何小部件
这个小部件将扩展到open部件,同样,它可以是任何小部件。
你可以使用builder来定义小部件,这为你提供了BuildContext和一个回调,允许你程式化地打开和关闭
OpenContainer(
closedBuilder: (context, action) {
return Text('Small widget');
},
openBuilder: (context, action) {
reutrn Text('Big screen');
}
);
当然,你可以使用Colors、Duration和其他回调等进一步定制过渡
OpenContainer(
openColor: Colors.pink,
transitionDuration: Duration(seconds: 1),
transitionType: ContainerTransitionType.fadeThrough,
closedBuilder: (context, action) {
return Text('Small widget');
},
openBuilder: (context, action) {
return Text('Big widget');
}
);
但是即使没有定制,你也可以毫无困难地做到过渡。
这只是package:animations提供的小部件之一
如果想了解有关Animations 的内容,或者关于Flutter的其他功能,请访问flutter.dev
原文翻译自视频:视频地址