构建flutter后如何设置动画?

Ily*_*cko 3 dart flutter flutter-animation

我必须将堆栈中的小部件移动(屏幕大小 - 我可以从密钥获取的小部件 A 的大小)。这两个值仅在构建后才可用,但据我所知,我应该在 initState 中初始化我的动画。有没有办法在构建完成后初始化我的补间动画?

Alo*_*lok 7

我明白了,你需要做手术了after build。假设您已经实现了动画方法,因为我可以看到您正在方法中调用该方法initState()。因此,您可以执行以下操作:

您可以使用Flutter After Layout Package,它在布局完成后仅执行一次函数。

或者

查看您可以使用它来实现相同目的的代码:

@override
void initState() {
  super.initState();
  WidgetsBinding.instance.addPostFrameCallback((_) => _myFunction(context));
}
Run Code Online (Sandbox Code Playgroud)

您可以使用它作为替代方案,因为WidgetBinding在您的initState()

// import this to implement the below code
import 'package:flutter/scheduler.dart';

SchedulerBinding.instance.addPostFrameCallback((_) => _myFunction(context));
Run Code Online (Sandbox Code Playgroud)