У меня есть сетка карточек с изображением продуктов.Когда карта нажата, я хочу, чтобы она перевернулась (вокруг оси Y), чтобы показать «другую сторону», которая показывает детали, одновременно увеличиваясь, чтобы заполнить экран.
- Продолжительность 0.0 -Карта показывает лицевую сторону и находится в виде сетки
- Продолжительность 0,5 - Карта находится на 50% пути к полноэкранному и перпендикулярному экрану (лицевая сторона обращена вправо, «обратная» сторона обращена влево)
- Длительность 1.0 - Карточка полностью раскрыта, и отображается карта «назад».
Мне удалось запустить анимацию сальто, но я не могу понять, как это сделать.также заставьте это бежать во время перехода Героя.Из этой статьи может показаться, что мне может понадобиться использовать 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(...),
);