currentSizedStackLayoutBuilder function

AnimatedSwitcherLayoutBuilder currentSizedStackLayoutBuilder({
  1. Alignment alignment = Alignment.center,
  2. double? prevChildMinWidth,
  3. double? prevChildMaxWidth,
  4. double? prevChildMinHeight,
  5. double? prevChildMaxHeight = double.infinity,
  6. Clip clipBehavior = Clip.hardEdge,
})

Layout builder for AnimatedSwitcher based on a Stack, with arguments for customizing the layout.

Implementation

AnimatedSwitcherLayoutBuilder currentSizedStackLayoutBuilder({
  Alignment alignment = Alignment.center,
  double? prevChildMinWidth,
  double? prevChildMaxWidth,
  double? prevChildMinHeight,
  double? prevChildMaxHeight = double.infinity,
  Clip clipBehavior = Clip.hardEdge,
}) {
  return (currentChild, previousChildren) => Stack(
        alignment: alignment,
        clipBehavior: clipBehavior,
        children: <Widget>[
          for (final previousChild in previousChildren)
            Positioned.fill(
              child: OverflowBox(
                minWidth: prevChildMinWidth,
                maxWidth: prevChildMaxWidth,
                minHeight: prevChildMinHeight,
                maxHeight: prevChildMaxHeight,
                child: Align(
                  alignment: alignment,
                  child: previousChild,
                ),
              ),
            ),
          if (currentChild != null) currentChild,
        ],
      );
}