of static method
Returns the nearest CheckboxTheme.
Implementation
static CheckboxThemeData of(BuildContext context) {
final CheckboxTheme? checkboxTheme =
context.dependOnInheritedWidgetOfExactType<CheckboxTheme>();
CheckboxThemeData? checkboxThemeData = checkboxTheme?.data;
if (checkboxThemeData == null || !checkboxThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context);
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
checkboxThemeData ??= themeData.checkboxTheme;
final checkboxValue =
_CheckboxThemeData(textTheme: textTheme, colorScheme: colorScheme);
final Color disabledColor =
checkboxThemeData.disabledColor ?? checkboxValue.disabledColor;
final Color activeColor =
checkboxThemeData.activeColor ?? checkboxValue.activeColor;
final Color activeHoverColor =
checkboxThemeData.activeHoverColor ?? checkboxValue.activeHoverColor;
final Color inactiveColor =
checkboxThemeData.inactiveColor ?? checkboxValue.inactiveColor;
final Color inactiveHoverColor = checkboxThemeData.inactiveHoverColor ??
checkboxValue.inactiveHoverColor;
final Color foreground =
checkboxThemeData.foreground ?? checkboxValue.foreground;
final double containerSize =
checkboxThemeData.containerSize ?? checkboxValue.containerSize;
return checkboxThemeData.copyWith(
disabledColor: disabledColor,
activeColor: activeColor,
activeHoverColor: activeHoverColor,
inactiveColor: inactiveColor,
inactiveHoverColor: inactiveHoverColor,
foreground: foreground,
containerSize: containerSize,
);
}
assert(checkboxThemeData._isConcrete);
return checkboxThemeData;
}