of static method
Returns the nearest ToggleSwitchTheme.
Implementation
static ToggleSwitchThemeData of(BuildContext context) {
final ToggleSwitchTheme? toggleSwitchTheme =
context.dependOnInheritedWidgetOfExactType<ToggleSwitchTheme>();
ToggleSwitchThemeData? toggleSwitchThemeData = toggleSwitchTheme?.data;
if (toggleSwitchThemeData == null || !toggleSwitchThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context);
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
toggleSwitchThemeData ??= themeData.toggleSwitchTheme;
final toggleSwitchValue = _ToggleSwitchThemeData(
textTheme: textTheme, colorScheme: colorScheme);
final Color disabledColor = toggleSwitchThemeData.disabledColor ??
toggleSwitchValue.disabledColor;
final Color activeColor =
toggleSwitchThemeData.activeColor ?? toggleSwitchValue.activeColor;
final Color activeHoverColor = toggleSwitchThemeData.activeHoverColor ??
toggleSwitchValue.activeHoverColor;
final Color inactiveColor = toggleSwitchThemeData.inactiveColor ??
toggleSwitchValue.inactiveColor;
final Color inactiveHoverColor =
toggleSwitchThemeData.inactiveHoverColor ??
toggleSwitchValue.inactiveHoverColor;
final Color foreground =
toggleSwitchThemeData.foreground ?? toggleSwitchValue.foreground;
return toggleSwitchThemeData.copyWith(
disabledColor: disabledColor,
activeColor: activeColor,
activeHoverColor: activeHoverColor,
inactiveColor: inactiveColor,
inactiveHoverColor: inactiveHoverColor,
foreground: foreground,
);
}
assert(toggleSwitchThemeData._isConcrete);
return toggleSwitchThemeData;
}