getButtonStyle method
获取按钮样式
Implementation
ButtonStyle? getButtonStyle(ColorScheme colorScheme, CustomButtonSize size) {
double? customFontSize;
EdgeInsets? customPadding;
switch (size) {
case CustomButtonSize.small:
customFontSize = 14;
customPadding = const EdgeInsets.symmetric(horizontal: 20);
break;
case CustomButtonSize.medium:
customFontSize = 16;
customPadding = null;
break;
case CustomButtonSize.large:
customFontSize = 18;
customPadding = const EdgeInsets.symmetric(horizontal: 28);
break;
}
return style != null
? style?.copyWith(
foregroundColor: WidgetStatePropertyAll(color ?? colorScheme.primary),
overlayColor: const WidgetStatePropertyAll(Colors.transparent),
side: WidgetStatePropertyAll(BorderSide(color: color ?? colorScheme.primary)),
textStyle: WidgetStatePropertyAll(TextStyle(fontSize: fontSize ?? customFontSize)),
padding: WidgetStatePropertyAll(customPadding),
)
: ButtonStyle(
foregroundColor: WidgetStatePropertyAll(color ?? colorScheme.primary),
overlayColor: const WidgetStatePropertyAll(Colors.transparent),
side: WidgetStatePropertyAll(BorderSide(color: color ?? colorScheme.primary)),
textStyle: WidgetStatePropertyAll(TextStyle(fontSize: fontSize ?? customFontSize)),
padding: WidgetStatePropertyAll(customPadding),
);
}