【发布时间】:2019-06-25 13:48:52
【问题描述】:
我有一张描述产品的卡片网格。当一张卡片被点击时,我希望它翻转(围绕 Y 轴)以显示显示细节的“另一面”,同时增长以填满屏幕。
- 持续时间 0.0 - 卡片显示正面并处于网格视图中
- 持续时间 0.5 - 卡片是全屏的 50% 并且垂直于屏幕(正面朝右,“背面”朝左)
- 持续时间 1.0 - 卡片完全展开并显示“背面”卡片。
我已经设法让翻转动画正常工作,但我无法弄清楚如何在英雄转换期间也让它运行。从this article 看来,我可能需要使用flightShuttleBuilder 才能为叠加层设置动画,但我的动画在过渡期间没有运行:
return Hero(
tag: 'test',
flightShuttleBuilder: (
BuildContext flightContext,
Animation<double> animation,
HeroFlightDirection flightDirection,
BuildContext fromHeroContext,
BuildContext toHeroContext,
) {
final Hero toHero = toHeroContext.widget;
return Transform(
transform: Matrix4.identity()..rotateY(-pi * animation.value),
alignment: FractionalOffset.center,
child: toHero,
);
},
child: Card(...),
);
【问题讨论】:
标签: animation dart flutter widget