StreamSwitchStyle.from constructor
StreamSwitchStyle.from({
- Color? trackColor,
- Color? selectedTrackColor,
- Color? disabledTrackColor,
- Color? thumbColor,
- Color? selectedThumbColor,
- Color? disabledThumbColor,
- Color? trackOutlineColor,
- Color? selectedTrackOutlineColor,
- Color? disabledTrackOutlineColor,
- double? trackOutlineWidth,
- double? selectedTrackOutlineWidth,
- double? disabledTrackOutlineWidth,
- Color? overlayColor,
- Color? hoveredOverlayColor,
- Color? pressedOverlayColor,
Creates a StreamSwitchStyle from simple values.
Wraps plain colors into WidgetStateProperty values.
State-specific parameters (prefixed with selected or disabled) take
precedence for their respective states; unprefixed parameters are used
as the default for all other states.
{@tool snippet}
Create a style with a green track when selected:
StreamSwitchStyle.from(
trackColor: Colors.grey,
selectedTrackColor: Colors.green,
disabledTrackColor: Colors.grey.shade200,
thumbColor: Colors.white,
hoveredOverlayColor: Colors.green.withOpacity(0.08),
pressedOverlayColor: Colors.green.withOpacity(0.1),
)
{@end-tool}
Implementation
factory StreamSwitchStyle.from({
Color? trackColor,
Color? selectedTrackColor,
Color? disabledTrackColor,
Color? thumbColor,
Color? selectedThumbColor,
Color? disabledThumbColor,
Color? trackOutlineColor,
Color? selectedTrackOutlineColor,
Color? disabledTrackOutlineColor,
double? trackOutlineWidth,
double? selectedTrackOutlineWidth,
double? disabledTrackOutlineWidth,
Color? overlayColor,
Color? hoveredOverlayColor,
Color? pressedOverlayColor,
}) {
return StreamSwitchStyle(
trackColor: WidgetStateUtils.resolveWith(trackColor, selectedTrackColor, disabledTrackColor),
thumbColor: WidgetStateUtils.resolveWith(thumbColor, selectedThumbColor, disabledThumbColor),
trackOutlineColor: WidgetStateUtils.resolveWith(
trackOutlineColor,
selectedTrackOutlineColor,
disabledTrackOutlineColor,
),
trackOutlineWidth: WidgetStateUtils.resolveWith(
trackOutlineWidth,
selectedTrackOutlineWidth,
disabledTrackOutlineWidth,
),
overlayColor: WidgetStateUtils.resolveOverlay(overlayColor, hoveredOverlayColor, pressedOverlayColor),
);
}