我有一个使用提供程序包中的changeNotifierProvider的小部件:
final updateText = UpdateText();
@override
Widget build(BuildContext context) {
return Container(
height: 200,
child: ChangeNotifierProvider<updateText>(
create: (context) => updateText ,
child: TextChangingWidget(),
),
),
}
我得到了此类来更新一些文本:
class UpdateText extends ChangeNotifier {
double duration = 0;
void change() {
duration += 1;
notifyListeners();
}
}
这是监听的小部件( StateLessWidget ):
@override
Widget build(BuildContext context) {
final updateText = Provider.of<UpdateText>(context);
return Container(
child: Text("${updateText.duration}");
)
}
我的问题是,当文本更改时,如何在不将小部件更改为全状态小部件或传递任何行情收录器的情况下使用动画。
我抬起头,发现了flutter hook程序包,该程序包使我可以在使用无状态小部件时使用动画控制器。
但是现在我遇到了一个新问题:
我在build方法内部实现了一个动画控制器(来自hook包):
final animationController = useAnimationController(
initialValue: 1, duration: Duration(milliseconds: 500));
并且我想在调用通知侦听器时调用此方法:
void switchAnimation(AnimationController animationController) {
animationController.reverse();
animationController.addStatusListener((status) {
if (status == AnimationStatus.dismissed) {
animationController.forward();
}
});
}
文本更改时如何调用此方法?