plain static method
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,
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(),
),
),
);
});