flutter - 如何在Flutter中真正使用SizeTransition?

我想做同样的效果:https://api.flutter.dev/flutter/widgets/SizeTransition-class.html但从图像的开头开始。我尝试了所有方法,但这行不通!

我试图在其中放置对齐,放置一个宽度由动画值修改的容器。没有任何效果!

我之前有一个动画,然后它会在这个动画完成时调用 forward() (有一个名为 complete 的函数调用 forward() 函数)。


initState() {
   _sizeController =
        AnimationController(duration: Duration(seconds: 1), vsync: this)
          ..addListener(() {
            setState(() {});
          });

    _sizeAnimation = Tween(begin: 0.0, end: 27.0).animate(CurvedAnimation(
        parent: _sizeController, curve: Curves.fastLinearToSlowEaseIn));
}

AnimatedContainer(
      width: _width,
      height: _height,
      duration: Duration(milliseconds: 200),
      decoration: BoxDecoration(
        color: _color,
        border: Border.all(
            color: Color(0xFF707070), width: 2, style: BorderStyle.solid),
        borderRadius: BorderRadius.circular(14.0),
      ),
      child: SizeTransition(
                    sizeFactor: _sizeAnimation,
                    axis: Axis.horizontal,
                    axisAlignment: -1,
                    child:
                        Center(child: Image.asset('assets/images/check.png')),
                  ),

或者它什么都不做,或者它只通过缩放来动画。我怎样才能达到与小部件页面上的示例视频相同的效果?我希望这种效果发生在圆形容器内显示复选标记图像。在此之前,animatedcontainer 将是一个线性容器,它会变成圆形,然后会出现对勾标记。

最佳答案

你需要调用_sizeController.forward()来运行动画

https://stackoverflow.com/questions/56300082/

相关文章:

python - Python 3 中的 XMPP 线程接收器

python - 在数据框中查找特定元素的列名

selenium - 在失败场景的范围报告 4 中添加屏幕截图

reactjs - 为什么脚本评估需要这么长时间?

django-rest-framework - 是否可以将搜索过滤器与查找表达式不是 `exact`

angular - 在 Azure 应用服务上部署多个 Angular 单页应用程序

json-rpc - 在 json-rpc Web 服务上返回 Auth 错误代码

sqlite - 升级 SQFLITE : Unhandled Exception: Databas

airflow - 无法在 GCP 上创建 Composer 环境

vue.js - 如何使用 vue.js 和 element-ui 的文件上传组件在上传到服务器之前