switchThemeData static method
SwitchThemeData
switchThemeData(
- Palette colors
)
Implementation
static SwitchThemeData switchThemeData(Palette colors) {
return SwitchThemeData(
thumbColor: WidgetStatePropertyAll(colors.fill),
trackColor: WidgetStatePropertyAll(colors.background),
trackOutlineColor: WidgetStatePropertyAll(colors.fill),
trackOutlineWidth: const WidgetStatePropertyAll(2.0),
materialTapTargetSize: null, // let Theme manage it
mouseCursor: null, // let Theme manage it
overlayColor: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
if (states.contains(WidgetState.selected)) {
return colors.fill;
} else if (states.contains(WidgetState.hovered)) {
return colors.fillHovered;
} else if (states.contains(WidgetState.pressed)) {
return colors.fillSplashed;
} else {
return colors.fill;
}
}),
splashRadius: 20.0, // match checkbox default,
thumbIcon: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
if (states.contains(WidgetState.selected)) {
return Icon(Icons.check_outlined, color: colors.fillText);
} else {
return null;
}
}),
);
}