android - 如何在 flutter 中设置 Transform.translate() 动画的持续时间?

标签 android flutter dart flutter-layout flutter-animation

我目前正在尝试学习 flutter 并尝试在 flutter 中制作井字游戏。我想要我的游戏,当我点击一个瓷砖时,圆圈和十字从上面落下。我正在尝试使用 Transform.Translate() 两次来实现这一点。像这样

GridTile(
          child: Transform.translate(
            child: Transform.translate(
              child: Image.asset(
                MultiPlayerGameLogic().imageProvider(i),
                fit: BoxFit.scaleDown,
              ),
              offset: Offset(0, -1000),
            ),
            offset: Offset(0, 1000),
          ),
        )

但这会立即发生并且看不到任何动画。我想设置外部 Transform.translate() 的持续时间。但找不到任何方法。

最佳答案

我正在使用 Transform.translate()Animation

    AnimationController controller;
    Animation<double> animation;

    @override
    void initState() {
       super.initState();
        controller = new AnimationController(
           duration: Duration(seconds: 3), vsync: this)..addListener(() => 
           setState(() {}));
        animation = Tween(begin: -500.0, end: 500.0).animate(controller);
        controller.forward();
     }

    @override
    Widget build(BuildContext context) {
      return Scaffold(
          body: Transform.translate(
           child: Image.asset('image_path'),
           offset: Offset(animation.value, 0.0),
      ));
    }

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

关于android - 如何在 flutter 中设置 Transform.translate() 动画的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55549828/

相关文章:

android - 使用 setTextColor() 以编程方式设置 Android TextView 文本颜色呈现 android :duplicateParentState invalid

dart - Flutter 导入包/插件

flutter - 如何更改 ModalBottomSheet 的边框和高度?

dart - <template iterate ="..."> 和 <template repeat ="..."> 的区别

html - 达特,为什么我的形状不显示?

flutter - 将堆叠的卡片裹起来

android - 我应该使用什么IP地址来连接MySQL和Android设备

android - .bashrc 不能正确读取带空格的环境路径

android - 有什么方法可以检测 videoview 上的实时流缓冲是否停止?

dart - 正确 Flutter 小部件序列以在应用加载时提取数据