box static method

MotionWidgetBuilder box({
  1. required BoxDecoration decoration,
  2. BoxDecoration? endDecoration,
  3. EdgeInsets padding = EdgeInsets.zero,
  4. EdgeInsets? endPadding,
})

Decorates with the decoration as a Container.

If endDecoration is provided, animates decoration to it.

A padding can also be provided.

Implementation

static MotionWidgetBuilder box({
  required BoxDecoration decoration,
  BoxDecoration? endDecoration,
  EdgeInsets padding = EdgeInsets.zero,
  EdgeInsets? endPadding,
}) =>
    (
      BuildContext context,
      MontageAnimation current,
      Animation<double> animation,
      Widget? child,
    ) {
      return AnimatedBuilder(
        animation: animation,
        child: child,
        builder: (context, child) => Container(
          decoration: BoxDecoration.lerp(
            decoration,
            endDecoration ?? decoration,
            animation.value,
          ),
          padding: EdgeInsets.lerp(
            padding,
            endPadding ?? padding,
            animation.value,
          ),
          child: child,
        ),
      );
    };