gpt4 book ai didi

Flutter:如何使用 Provider 播放动画?

转载 作者:行者123 更新时间:2023-12-03 14:40:52 25 4
gpt4 key购买 nike

我用 Provider在我的 Flutter 演示中管理状态。

我想为我的小部件设置动画,但似乎 AnimateController 需要一个来自有状态小部件状态的同步参数。

据我所知,不建议 Provider 与有状态小部件一起使用。

我可以使用 Provider 管理 AnimationController 吗?

还是必须同时使用 Provider 和有状态小部件?

最佳答案

Can I manage the AnimationController with Provider?

Or must use both Provider and stateful widget?



我不知道这是否是最好的方法,但我是这样做的:

我用 didUpdateWidget在有状态小部件中。我将值从提供者传递给父级并触发 didUpdateWidget 中的动画在 child 中定义的方法。 didUpdateWidget当我从提供程序中的更改通知监听器时触发自身。
class MyWidget extends StatefulWidget {
final String valueFromProvider;

MyWidget({this.valueFromProvider});

@override
_MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> with TickerProviderStateMixin {
@override
void didUpdateWidget(MyWidget oldWidget) {
// TODO: implement didUpdateWidget
super.didUpdateWidget(oldWidget);

if (oldWidget.valueFromProvider == "whatever you want" &&
widget.valueFromProvider == "what you want that changed") {
// trigger animations methods here
}
}

// here all the animations methods,dispose method, etc.

@override
Widget build(BuildContext context) {
return Container();
}
}

关于Flutter:如何使用 Provider 播放动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com