CupertinoSwitch class
An iOS-style switch.
Used to toggle the on/off state of a single setting.
The switch itself does not maintain its toggle state. Instead, when the toggle state of the switch changes, the widget calls the onChanged callback. Most widgets that use a switch will listen for the onChanged callback and rebuild the switch with a new value to update the visual appearance of the switch.
This example shows a toggleable CupertinoSwitch. When the thumb slides to
the other side of the track, the switch is toggled between on/off.
    
        link
    
    To create a local project with this code sample, run:
            flutter create --sample=cupertino.CupertinoSwitch.1 mysample
        
This sample shows how to use a CupertinoSwitch in a CupertinoListTile. The
MergeSemantics is used to turn the entire CupertinoListTile into a single item
for accessibility tools.
  
    link
  
  MergeSemantics(
  child: CupertinoListTile(
    title: const Text('Lights'),
    trailing: CupertinoSwitch(
      value: _lights,
      onChanged: (bool value) { setState(() { _lights = value; }); },
    ),
    onTap: () { setState(() { _lights = !_lights; }); },
  ),
)See also:
- Switch, the Material Design equivalent.
- developer.apple.com/design/human-interface-guidelines/toggles/
- Inheritance
- 
    - Object
- DiagnosticableTree
- Widget
- StatefulWidget
- CupertinoSwitch
 
Constructors
- 
          CupertinoSwitch.new({Key? key, required bool value, required ValueChanged<bool> ? onChanged, @Deprecated('Use activeTrackColor instead. ' 'This feature was deprecated after v3.24.0-0.2.pre.') Color? activeColor, @Deprecated('Use inactiveTrackColor instead. ' 'This feature was deprecated after v3.24.0-0.2.pre.') Color? trackColor, Color? activeTrackColor, Color? inactiveTrackColor, Color? thumbColor, Color? inactiveThumbColor, bool? applyTheme, Color? focusColor, Color? onLabelColor, Color? offLabelColor, ImageProvider<Object> ? activeThumbImage, ImageErrorListener? onActiveThumbImageError, ImageProvider<Object> ? inactiveThumbImage, ImageErrorListener? onInactiveThumbImageError, WidgetStateProperty<Color?> ? trackOutlineColor, WidgetStateProperty<double?> ? trackOutlineWidth, WidgetStateProperty<Icon?> ? thumbIcon, WidgetStateProperty<MouseCursor> ? mouseCursor, FocusNode? focusNode, ValueChanged<bool> ? onFocusChange, bool autofocus = false, DragStartBehavior dragStartBehavior = DragStartBehavior.start})
- 
          Creates an iOS-style switch.
            const
Properties
- activeColor → Color?
- 
  The color to use for the track when the switch is on.
  no setter
- 
  activeThumbImage
  → ImageProvider<Object> ?
- 
  An image to use on the thumb of this switch when the switch is on.
  final
- activeTrackColor → Color?
- 
  The color to use for the track when the switch is on.
  final
- applyTheme → bool?
- 
  Whether to apply the ambient CupertinoThemeData.
  final
- autofocus → bool
- 
  True if this widget will be selected as the initial focus when no other
node in its scope is currently focused.
  final
- dragStartBehavior → DragStartBehavior
- 
  Determines the way that drag start behavior is handled.
  final
- focusColor → Color?
- 
  The color to use for the focus highlight for keyboard interactions.
  final
- focusNode → FocusNode?
- 
  An optional focus node to use as the focus node for this widget.
  final
- hashCode → int
- 
  The hash code for this object.
  no setterinherited
- inactiveThumbColor → Color?
- 
  The color to use on the thumb when the switch is off.
  final
- 
  inactiveThumbImage
  → ImageProvider<Object> ?
- 
  An image to use on the thumb of this switch when the switch is off.
  final
- inactiveTrackColor → Color?
- 
  The color to use for the track when the switch is off.
  final
- key → Key?
- 
  Controls how one widget replaces another widget in the tree.
  finalinherited
- 
  mouseCursor
  → WidgetStateProperty<MouseCursor> ?
- 
  The cursor for a mouse pointer when it enters or is hovering over the
widget.
  final
- offLabelColor → Color?
- 
  The color to use for the accessibility label when the switch is off.
  final
- onActiveThumbImageError → ImageErrorListener?
- 
  An optional error callback for errors emitted when loading
activeThumbImage.
  final
- 
  onChanged
  → ValueChanged<bool> ?
- 
  Called when the user toggles the switch on or off.
  final
- 
  onFocusChange
  → ValueChanged<bool> ?
- 
  Handler called when the focus changes.
  final
- onInactiveThumbImageError → ImageErrorListener?
- 
  An optional error callback for errors emitted when loading
inactiveThumbImage.
  final
- onLabelColor → Color?
- 
  The color to use for the accessibility label when the switch is on.
  final
- runtimeType → Type
- 
  A representation of the runtime type of the object.
  no setterinherited
- thumbColor → Color?
- 
  The color to use for the thumb when the switch is on.
  final
- 
  thumbIcon
  → WidgetStateProperty<Icon?> ?
- 
  The icon to use on the thumb of this switch.
  final
- trackColor → Color?
- 
  The color to use for the track when the switch is off.
  no setter
- 
  trackOutlineColor
  → WidgetStateProperty<Color?> ?
- 
  The outline color of this CupertinoSwitch's track.
  final
- 
  trackOutlineWidth
  → WidgetStateProperty<double?> ?
- 
  The outline width of this CupertinoSwitch's track.
  final
- value → bool
- 
  Whether this switch is on or off.
  final
Methods
- 
  createElement() → StatefulElement 
- 
  Creates a StatefulElement to manage this widget's location in the tree.
  inherited
- 
  createState() → State< CupertinoSwitch> 
- 
  Creates the mutable state for this widget at a given location in the tree.
  override
- 
  debugDescribeChildren() → List< DiagnosticsNode> 
- 
  Returns a list of DiagnosticsNode objects describing this node's
children.
  inherited
- 
  debugFillProperties(DiagnosticPropertiesBuilder properties) → void 
- 
  Add additional properties associated with the node.
  override
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode 
- 
  Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
  inherited
- 
  toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String 
- 
  A string representation of this object.
  inherited
- 
  toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String 
- 
  Returns a string representation of this node and its descendants.
  inherited
- 
  toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String 
- 
  Returns a one-line detailed description of the object.
  inherited
- 
  toStringShort() → String 
- 
  A short, textual description of this widget.
  inherited
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited