merge static method

Widget merge({
  1. Key? key,
  2. Duration? duration,
  3. Duration? reverseDuration,
  4. Curve? switchInCurve,
  5. Curve? switchOutCurve,
  6. AnimatedSwitcherTransitionBuilder? transitionBuilder,
  7. AnimatedSwitcherLayoutBuilder? layoutBuilder,
  8. bool? maintainKey,
  9. DrivenSwitcherThemeData? data,
  10. required Widget child,
})

Creates an DrivenSwitcherTheme that controls the style of descendant widgets, and merges in the current DrivenSwitcherTheme, if any.

The style and child arguments must not be null.

Implementation

static Widget merge({
  Key? key,
  Duration? duration,
  Duration? reverseDuration,
  Curve? switchInCurve,
  Curve? switchOutCurve,
  AnimatedSwitcherTransitionBuilder? transitionBuilder,
  AnimatedSwitcherLayoutBuilder? layoutBuilder,
  bool? maintainKey,
  DrivenSwitcherThemeData? data,
  required Widget child,
}) {
  return Builder(
    builder: (BuildContext context) {
      final parent = DrivenSwitcherTheme.of(context);
      return DrivenSwitcherTheme(
        key: key,
        data: parent.merge(data).copyWith(
              duration: duration,
              reverseDuration: reverseDuration,
              switchInCurve: switchInCurve,
              switchOutCurve: switchOutCurve,
              transitionBuilder: transitionBuilder,
              layoutBuilder: layoutBuilder,
              maintainKey: maintainKey,
            ),
        child: child,
      );
    },
  );
}