颤动中的移动小部件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动中的移动小部件相关的知识,希望对你有一定的参考价值。

我正在尝试制作一个按下按钮,图像将移至特定位置。我找到了一个动画AnimatedAligned,但是该类似乎不允许将小部件重新定位到原始位置。任何大师都知道在这种情况下可以使用哪种动画?

答案

查看此...

class SlideTransitionHome extends StatefulWidget {
  @override
  _SlideTransitionHomeState createState() => _SlideTransitionHomeState();
}

class _SlideTransitionHomeState extends State<SlideTransitionHome>
    with SingleTickerProviderStateMixin {
  AnimationController _controller;
  Tween<Offset> controllerTween = Tween<Offset>(begin: Offset.zero, end: Offset(1,1));

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(vsync: this, duration: Duration(seconds: 1));
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: SlideTransition(
            position: _controller.drive(controllerTween),
            child: Container(
              decoration: BoxDecoration(
                color: Colors.pink,
                borderRadius: BorderRadius.circular(10),
              ),
              width: 100,
              height: 100,
            ),
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: (){
          _controller.isDismissed ? _controller.forward() : _controller.reverse();
        },
      ),
    );
  }
}

输出:

enter image description here

以上是关于颤动中的移动小部件的主要内容,如果未能解决你的问题,请参考以下文章

其他文件中的单独小部件颤动

动态更改小部件的文本颤动/飞镖

如何在颤动中间接调用另一个小部件中的 ontap 函数?

创建一个在颤动中创建小部件的按钮[关闭]

如何在颤动中管理开关小部件的原生外观

如何在颤动中使用流构建器刷新小部件