getDefaultTheme static method
ContainedButtonThemeData
getDefaultTheme({
- required Color accentColor,
- required Color backgroundDisabled,
- Color textWhite = Colors.white,
- required BorderRadius? buttonsRadius,
Implementation
static ContainedButtonThemeData getDefaultTheme({
required Color accentColor,
required Color backgroundDisabled,
Color textWhite = Colors.white,
required BorderRadius? buttonsRadius,
}) {
ButtonStyle defaultButtonStyle = ButtonStyle(
padding: WidgetStateProperty.all<EdgeInsets>(const EdgeInsets.all(14)),
minimumSize: WidgetStateProperty.all<Size>(const Size(18, 18)),
elevation: const WidgetStatePropertyAll(0),
backgroundColor: WidgetStateProperty.resolveWith<Color>((states) {
if (states.contains(WidgetState.disabled)) {
return backgroundDisabled;
}
return accentColor;
}),
foregroundColor: WidgetStateProperty.resolveWith<Color>((states) {
if (states.contains(WidgetState.disabled)) {
return textWhite.withValues(alpha: 0.6);
}
return textWhite;
}),
shape: WidgetStateProperty.all(
RoundedRectangleBorder(
borderRadius: buttonsRadius ?? BorderRadius.zero,
),
),
);
return ContainedButtonThemeData(
style: defaultButtonStyle,
uppercase: true,
);
}