createCupertinoWidget method
Implementation
@override
CupertinoButton createCupertinoWidget(BuildContext context) {
final data = cupertino?.call(context, platform(context));
// child is required non nullable
assert(data?.icon != null || cupertinoIcon != null || icon != null);
// If the IconButton is placed inside the AppBar, we need to have zero padding.
final haveZeroPadding = PlatformProvider.of(context)
?.settings
.iosUseZeroPaddingForAppbarPlatformIcon ??
false;
final isPlacedOnPlatformAppBar =
ParentWidgetFinder.of<CupertinoNavigationBar>(context) != null;
final overriddenPadding =
haveZeroPadding && isPlacedOnPlatformAppBar ? EdgeInsets.zero : null;
final givenPadding = data?.padding ?? padding ?? overriddenPadding;
return CupertinoButton(
key: data?.widgetKey ?? widgetKey,
child: data?.icon ?? cupertinoIcon ?? icon!,
onPressed: data?.onPressed ?? onPressed ?? null,
padding: givenPadding,
color: data?.color ?? color,
borderRadius: data?.borderRadius ??
const BorderRadius.all(const Radius.circular(8.0)),
minSize: data?.minSize ?? _kMinInteractiveDimensionCupertino,
pressedOpacity: data?.pressedOpacity ?? 0.4,
disabledColor: data?.disabledColor ??
disabledColor ??
CupertinoColors.quaternarySystemFill,
alignment: data?.alignment ?? Alignment.center,
);
}