Flutter 动画控制器:创建起飞、飞行、降落和行走动画
您可以使用 Flutter 的 AnimationController 和 Tween 来创建动画控制器,以下是一个简单的示例:
首先,在 State 类中创建一个 AnimationController 和 Tween 对象:
AnimationController _controller;
Tween<double> _tween;
然后,在 initState 方法中初始化这些对象,并为动画设置状态转换:
@override
void initState() {
super.initState();
_controller = AnimationController(
vsync: this, duration: Duration(milliseconds: 2000));
_tween = Tween<double>(begin: 0, end: 1);
_controller.addListener(() {
setState(() {});
});
}
接下来,在 build 方法中,使用 AnimatedBuilder 小部件来创建动画:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: AnimatedBuilder(
animation: _controller,
builder: (context, child) {
return Transform.translate(
offset: Offset(0, -100 * _tween.evaluate(_controller)),
child: child,
);
},
child: Container(
width: 100,
height: 100,
color: Colors.blue,
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
_controller.reset();
_controller.forward();
},
child: Icon(Icons.arrow_upward),
),
);
}
在这个示例中,AnimatedBuilder 小部件使用 transform.translate 来实现垂直移动,并将 Tween 对象与 AnimationController 对象一起使用来控制动画的状态转换。
您可以在 onPressed 方法中使用 _controller.reset() 和 _controller.forward() 方法来启动动画。
原文地址: https://www.cveoy.top/t/topic/ob9c 著作权归作者所有。请勿转载和采集!