SwitchListTile.adaptive constructor Null safety
- {Key? key,
- required bool value,
- required ValueChanged<
bool> ? onChanged, - Color? tileColor,
- Color? activeColor,
- Color? activeTrackColor,
- Color? inactiveThumbColor,
- Color? inactiveTrackColor,
- ImageProvider<
Object> ? activeThumbImage, - ImageProvider<
Object> ? inactiveThumbImage, - Widget? title,
- Widget? subtitle,
- bool isThreeLine = false,
- bool? dense,
- EdgeInsetsGeometry? contentPadding,
- Widget? secondary,
- bool selected = false,
- bool autofocus = false,
- ListTileControlAffinity controlAffinity = ListTileControlAffinity.platform,
- ShapeBorder? shape,
- Color? selectedTileColor,
- VisualDensity? visualDensity,
- FocusNode? focusNode,
- bool? enableFeedback,
- Color? hoverColor}
Creates a Material ListTile with an adaptive Switch, following Material design's Cross-platform guidelines.
This widget uses Switch.adaptive to change the graphics of the switch component based on the ambient ThemeData.platform. On iOS and macOS, a CupertinoSwitch will be used. On other platforms a Material design Switch will be used.
If a CupertinoSwitch is created, the following parameters are ignored: activeTrackColor, inactiveThumbColor, inactiveTrackColor, activeThumbImage, inactiveThumbImage.
Implementation
const SwitchListTile.adaptive({
super.key,
required this.value,
required this.onChanged,
this.tileColor,
this.activeColor,
this.activeTrackColor,
this.inactiveThumbColor,
this.inactiveTrackColor,
this.activeThumbImage,
this.inactiveThumbImage,
this.title,
this.subtitle,
this.isThreeLine = false,
this.dense,
this.contentPadding,
this.secondary,
this.selected = false,
this.autofocus = false,
this.controlAffinity = ListTileControlAffinity.platform,
this.shape,
this.selectedTileColor,
this.visualDensity,
this.focusNode,
this.enableFeedback,
this.hoverColor,
}) : _switchListTileType = _SwitchListTileType.adaptive,
assert(value != null),
assert(isThreeLine != null),
assert(!isThreeLine || subtitle != null),
assert(selected != null),
assert(autofocus != null);