首页 > 解决方案 > 构建颤动后如何设置动画?

问题描述

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

标签: flutterdartflutter-animation

解决方案


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

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

或者

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

@override
void initState() {
  super.initState();
  WidgetsBinding.instance.addPostFrameCallback((_) => _myFunction(context));
}

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

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

SchedulerBinding.instance.addPostFrameCallback((_) => _myFunction(context));

推荐阅读