build static method

Widget build(
  1. BuildContext context,
  2. Widget child,
  3. Animation<double> animation,
  4. bool isForward,
  5. VoPageFlowTheme theme,
)

Implementation

static Widget build(
  BuildContext context,
  Widget child,
  Animation<double> animation,
  bool isForward,
  VoPageFlowTheme theme,
) {
  if (theme.transitionBuilder != null) {
    return theme.transitionBuilder!(context, child, animation, isForward);
  }

  switch (theme.transition) {
    case VoPageFlowTransition.none:
      return child;

    case VoPageFlowTransition.fade:
      return FadeTransition(opacity: animation, child: child);

    case VoPageFlowTransition.scale:
      return ScaleTransition(scale: animation, child: child);

    case VoPageFlowTransition.slide:
      return SlideTransition(
        position: animation.drive(
          Tween(begin: Offset(isForward ? 1 : -1, 0), end: Offset.zero),
        ),
        child: child,
      );

    case VoPageFlowTransition.slideFade:
      return SlideTransition(
        position: animation.drive(
          Tween(begin: Offset(isForward ? 1 : -1, 0), end: Offset.zero),
        ),
        child: FadeTransition(opacity: animation, child: child),
      );
  }
}