wrapWithPaddedScrollable function

Widget wrapWithPaddedScrollable({
  1. required ScrollableMixin node,
  2. EdgeInsets? padding,
  3. Clip? clipBehavior,
  4. required Widget child,
})

Implementation

Widget wrapWithPaddedScrollable({
  required ScrollableMixin node,
  EdgeInsets? padding,
  Clip? clipBehavior,
  required Widget child,
}) {
  if (!node.isScrollable) return child;
  return SizedBox(
    width: (node.horizontalFit == SizeFit.shrinkWrap)
        ? null
        : (node.horizontalFit == SizeFit.expanded)
            ? double.infinity
            : node.basicBoxLocal.width,
    height: (node.verticalFit == SizeFit.shrinkWrap)
        ? null
        : (node.verticalFit == SizeFit.expanded)
            ? double.infinity
            : node.basicBoxLocal.height,
    child: SingleChildScrollView(
      scrollDirection: node.scrollDirection.flutterAxis,
      reverse: node.reverse,
      physics: node.physics.flutterScrollPhysics(node.shouldAlwaysScroll),
      primary: node.primary,
      padding: padding,
      keyboardDismissBehavior:
          node.keyboardDismissBehavior.flutterKeyboardDismissBehavior,
      clipBehavior: clipBehavior ?? Clip.hardEdge,
      child: child,
    ),
  );
}