plain static method

Widget plain({
  1. Key? key,
  2. bool back = false,
  3. bool enabled = true,
  4. bool primary = false,
  5. bool busy = false,
  6. EdgeInsetsGeometry? padding,
  7. double? horizontalPadding,
  8. double? verticalPadding,
  9. double? topPadding,
  10. double? bottomPadding,
  11. double? leftPadding,
  12. double? rightPadding,
  13. Color? color,
  14. Color? backgroundColor,
  15. Color disabledColor = CupertinoColors.quaternarySystemFill,
  16. double? minSize = kMinInteractiveDimensionCupertino,
  17. double? iconSize,
  18. double? pressedOpacity = 0.4,
  19. BorderRadius? borderRadius = const BorderRadius.all(Radius.circular(8.0)),
  20. AlignmentGeometry alignment = Alignment.center,
  21. VoidCallback? onPressed,
  22. Widget? child,
})

Implementation

static Widget plain({
  Key? key,
  bool back = false,
  bool enabled = true,
  bool primary = false,
  bool busy = false,
  EdgeInsetsGeometry? padding,
  double? horizontalPadding,
  double? verticalPadding,
  double? topPadding,
  double? bottomPadding,
  double? leftPadding,
  double? rightPadding,
  Color? color,
  Color? backgroundColor,
  Color disabledColor = CupertinoColors.quaternarySystemFill,
  double? minSize = kMinInteractiveDimensionCupertino,
  double? iconSize,
  double? pressedOpacity = 0.4,
  BorderRadius? borderRadius = const BorderRadius.all(Radius.circular(8.0)),
  AlignmentGeometry alignment = Alignment.center,
  VoidCallback? onPressed,
  Widget? child,
}) =>
    ThemeBuilder((context) {
      final iconTheme =
          (primary ? context.primaryActionIconTheme : context.iconTheme)
              .copyWith(color: color, size: iconSize);
      final _color = iconTheme.color;
      return CupertinoButton(
        key: key,
        padding: padding ??
            EdgeInsets.only(
              top: verticalPadding ?? topPadding ?? 0,
              bottom: verticalPadding ?? bottomPadding ?? 0,
              left: horizontalPadding ?? leftPadding ?? 0,
              right: horizontalPadding ?? rightPadding ?? 0,
            ),
        color: backgroundColor,
        disabledColor: disabledColor,
        minSize: minSize,
        pressedOpacity: busy ? null : pressedOpacity,
        borderRadius: borderRadius,
        alignment: alignment,
        onPressed: enabled
            ? busy
                ? () {}
                : () {
                    onPressed?.call();
                    if (back) Get.back();
                  }
            : null,
        child: DefaultTextStyle(
          style: TextStyle(color: _color),
          child: IconTheme(
            data: iconTheme,
            child: busy
                ? const CircularProgress.small()
                : child ?? const SizedBox(),
          ),
        ),
      );
    });