Checkbox.adaptive constructor
- Key? key,
- required bool? value,
- bool tristate = false,
- required ValueChanged<
bool?> ? onChanged, - MouseCursor? mouseCursor,
- Color? activeColor,
- MaterialStateProperty<
Color?> ? fillColor, - Color? checkColor,
- Color? focusColor,
- Color? hoverColor,
- MaterialStateProperty<
Color?> ? overlayColor, - double? splashRadius,
- MaterialTapTargetSize? materialTapTargetSize,
- VisualDensity? visualDensity,
- FocusNode? focusNode,
- bool autofocus = false,
- OutlinedBorder? shape,
- BorderSide? side,
- bool isError = false,
- String? semanticLabel,
Creates an adaptive Checkbox based on whether the target platform is iOS or macOS, following Material design's Cross-platform guidelines.
On iOS and macOS, this constructor creates a CupertinoCheckbox, which has matching functionality and presentation as Material checkboxes, and are the graphics expected on iOS. On other platforms, this creates a Material design Checkbox.
If a CupertinoCheckbox is created, the following parameters are ignored: mouseCursor, fillColor, hoverColor, overlayColor, splashRadius, materialTapTargetSize, visualDensity, isError. However, shape and side will still affect the CupertinoCheckbox and should be handled if native fidelity is important.
The target platform is based on the current Theme: ThemeData.platform.
Implementation
const Checkbox.adaptive({
super.key,
required this.value,
this.tristate = false,
required this.onChanged,
this.mouseCursor,
this.activeColor,
this.fillColor,
this.checkColor,
this.focusColor,
this.hoverColor,
this.overlayColor,
this.splashRadius,
this.materialTapTargetSize,
this.visualDensity,
this.focusNode,
this.autofocus = false,
this.shape,
this.side,
this.isError = false,
this.semanticLabel,
}) : _checkboxType = _CheckboxType.adaptive,
assert(tristate || value != null);