ToggleSwitchThemeData.standard constructor
ToggleSwitchThemeData.standard(
- ThemeData style
Implementation
factory ToggleSwitchThemeData.standard(ThemeData style) {
final defaultThumbDecoration = BoxDecoration(shape: BoxShape.circle);
final defaultDecoration = BoxDecoration(
borderRadius: BorderRadius.circular(30),
);
return ToggleSwitchThemeData(
cursor: style.inputMouseCursor,
checkedDecoration: ButtonState.resolveWith((states) {
return defaultDecoration.copyWith(
color: ButtonThemeData.checkedInputColor(style, states),
border: Border.all(style: BorderStyle.none),
);
}),
uncheckedDecoration: ButtonState.resolveWith((states) {
return defaultDecoration.copyWith(
color: ButtonThemeData.uncheckedInputColor(style, states),
border: Border.all(
width: 0.8,
color: states.isNone || states.isFocused
? style.inactiveColor
: ButtonThemeData.uncheckedInputColor(style, states),
),
);
}),
padding: const EdgeInsets.symmetric(horizontal: 3, vertical: 4),
margin: const EdgeInsets.all(4),
animationDuration: style.fastAnimationDuration,
animationCurve: style.animationCurve,
checkedThumbDecoration: ButtonState.resolveWith((states) {
return defaultThumbDecoration.copyWith(
color: states.isDisabled
? ButtonThemeData.checkedInputColor(
style,
states,
).basedOnLuminance()
: style.brightness.isLight
? style.activeColor
: style.inactiveColor,
);
}),
uncheckedThumbDecoration: ButtonState.resolveWith((states) {
return defaultThumbDecoration.copyWith(
color: states.isDisabled
? ButtonThemeData.uncheckedInputColor(
style,
states,
).basedOnLuminance()
: style.inactiveColor,
);
}),
);
}