push static method
Future<void>
push({
- required BuildContext context,
- required HeroContainerController controller,
- Color? openedColor,
- Color? closedColor,
- ShapeBorder? openedShape,
- ShapeBorder? closedShape,
- required double openedElevation,
- required double closedElevation,
- required BoxFit openedFit,
- required BoxFit closedFit,
- required AlignmentGeometry openedAlignemnt,
- required AlignmentGeometry closedAlignment,
- required Duration transitionDuration,
- required Curve transitionCurve,
- HeroContianerClosedCallback? onClosed,
- HeroContianerFlightShuttleBuilder? flightShuttleBuilder,
Launches a hero container transition.
Captures the current widget state and pushes a HeroContainerRoute with the specified transition properties. The route handles the animation between the captured snapshots.
Implementation
static Future<void> push({
required BuildContext context,
required HeroContainerController controller,
Color? openedColor,
Color? closedColor,
ShapeBorder? openedShape,
ShapeBorder? closedShape,
required double openedElevation,
required double closedElevation,
required BoxFit openedFit,
required BoxFit closedFit,
required AlignmentGeometry openedAlignemnt,
required AlignmentGeometry closedAlignment,
required Duration transitionDuration,
required Curve transitionCurve,
HeroContianerClosedCallback? onClosed,
HeroContianerFlightShuttleBuilder? flightShuttleBuilder,
}) async {
// Capture the initial widget state before transition.
controller.fromFragment = await controller.fragmentOf(
context,
controller.fromKey,
);
if (context.mounted) {
await Navigator.push(
context,
HeroContainerRoute(
openedColor: openedColor,
closedColor: closedColor,
openedShape: openedShape,
closedShape: closedShape,
openedElevation: openedElevation,
closedElevation: closedElevation,
openedFit: openedFit,
closedFit: closedFit,
openedAlignemnt: openedAlignemnt,
closedAlignment: closedAlignment,
transitionDuration: transitionDuration,
transitionCurve: transitionCurve,
heroController: controller,
onClosed: onClosed,
flightShuttleBuilder:
flightShuttleBuilder ?? _defaultFlightShuttleBuilder,
),
);
}
}