2

我找不到两者之间的区别,以及为什么要在另一个之上使用一个。

在我看来,他们俩几乎都在做同样的事情。

为什么以及在哪里使用一个高于另一个?

4

3 回答 3

3

AnimatedContainer用于快速完成任务并用于简单用途,因为它使用隐式动画来动画其属性的变化,例如颜色或大小(宽度,高度)的变化所以它为您制作动画,您无需担心或编写样板文件

但是,AnimationController当您需要对要创建的动画进行更多控制并且在这种情况下动画很复杂时,您将需要执行显式动画(即显式使用控制器和动画对象而不是隐式使用AnimatedContainer)现在我可以为您提供一个示例代码,但是如果您查看官方颤振团队的这一系列视频会更好,这些视频解释了差异以及何时使用每个视频

于 2020-04-19T09:36:30.857 回答
2

就像比较TextFormFieldTextEditingController

它们不一样,它们不能用于实现相同的目标

于 2020-04-19T10:04:02.997 回答
0

假设您希望在执行函数之前先完成动画。没有明确的方法来监视AnimatedContainer动画何时完成。

An确实允许您使用诸如https://stackoverflow.com/a/50473876/6941972AnimationController之类的方法来监控这种事情yourAnimatedController.addStatusListner((status) => ...)

有这方面的用例。例如,您可能在每个图块上都有一个带有动画的项目列表。如果您需要从列表中删除动画图块,则需要确保该列表上正在运行的任何动画首先停止。使用AnimatedContainer.

于 2020-11-03T08:07:14.057 回答