您可以使用 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() 方法来启动动画。

Flutter 动画控制器:创建起飞、飞行、降落和行走动画

原文地址: https://www.cveoy.top/t/topic/ob9c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录