CupertinoSwitch class Null safety

An iOS-style switch.

Used to toggle the on/off state of a single setting.

The switch itself does not maintain any state. Instead, when the 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.
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 ListTile. The MergeSemantics is used to turn the entire ListTile into a single item for accessibility tools.
MergeSemantics(
  child: ListTile(
    title: const Text('Lights'),
    trailing: CupertinoSwitch(
      value: _lights,
      onChanged: (bool value) { setState(() { _lights = value; }); },
    ),
    onTap: () { setState(() { _lights = !_lights; }); },
  ),
)

See also:

Inheritance

Constructors

CupertinoSwitch({Key? key, required bool value, required ValueChanged<bool>? onChanged, Color? activeColor, Color? trackColor, Color? thumbColor, DragStartBehavior dragStartBehavior = DragStartBehavior.start})
Creates an iOS-style switch.
const

Properties

activeColor Color?
The color to use when this switch is on.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled.
final
hashCode int
The hash code for this object.
@nonVirtual, read-only, inherited
key Key?
Controls how one widget replaces another widget in the tree.
final, inherited
onChanged ValueChanged<bool>?
Called when the user toggles with switch on or off.
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
thumbColor Color?
The color to use for the thumb of the switch.
final
trackColor Color?
The color to use for the background when the switch is off.
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.
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent 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}) 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.
@nonVirtual, inherited