我正在尝试翻转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>
设置为硬编码值?
答案 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),
),