在Flutter中翻转动画控制器视图属性值

时间:2018-07-27 03:54:58

标签: dart flutter

我正在尝试翻转progress的{​​{1}}值。例如:

AnimatedIcon

现在,图标动画可以满足我的需求。因此,当我期望icon: AnimatedIcon( icon: AnimatedIcons.close_menu, progress: _controller.view, ), _controller.view时,它实际上是在显示0.0

我尝试过:

1.0

但是progress: _controller.view == 1.0 ? 0.0 : 1.0 _controller.view,而不仅仅是Animation<double>

如何将<double>设置为硬编码值?

2 个答案:

答案 0 :(得分:2)

您可以使用Tween来创建动画,该动画使用[0.0, 1.0]将控制器的值[1.0, 0.0]的范围转换为相反的范围Tween.animate。例如,

// create your tween.
final tween = Tween<double>(begin: 1.0, end: 0.0);

// apply it to a controller to create an animation.
final animation<double> = tween.animate(controller);

AnimatedIcon(
  icon: AnimatedIcons.close_menu,
  progress: animation,
); 

答案 1 :(得分:0)

我发现使用ReverseAnimation对我来说更直观

icon: AnimatedIcon(
  icon: AnimatedIcons.close_menu,
  progress: ReverseAnimation(_controller),
),