iosContentPad method

Widget iosContentPad(
  1. BuildContext context,
  2. Widget child,
  3. ObstructingPreferredSizeWidget? navigationBar,
  4. CupertinoTabBar tabBar,
)

Implementation

Widget iosContentPad(
  BuildContext context,
  Widget child,
  ObstructingPreferredSizeWidget? navigationBar,
  CupertinoTabBar tabBar,
) {
  final MediaQueryData existingMediaQuery = MediaQuery.of(context);

  if (!iosContentPadding && !iosContentBottomPadding) {
    return child;
  }

  double top = 0;
  double bottom = 0;

  if (iosContentPadding && navigationBar != null) {
    final double topPadding =
        navigationBar.preferredSize.height + existingMediaQuery.padding.top;

    final obstruct = navigationBar.shouldFullyObstruct(context);

    top = obstruct ? 0.0 : topPadding;
  }

  if (iosContentBottomPadding) {
    bottom = existingMediaQuery.padding.bottom;
  }

  return Padding(
    padding: EdgeInsets.only(top: top, bottom: bottom),
    child: child,
  );
}