Checkbox class

A Material Design checkbox.

The checkbox itself does not maintain any state. Instead, when the state of the checkbox changes, the widget calls the onChanged callback. Most widgets that use a checkbox will listen for the onChanged callback and rebuild the checkbox with a new value to update the visual appearance of the checkbox.

The checkbox can optionally display three values - true, false, and null - if tristate is true. When value is null a dash is displayed. By default tristate is false and the checkbox's value must be true or false.

Requires one of its ancestors to be a Material widget.

This example shows how you can override the default theme of a Checkbox with a WidgetStateProperty. In this example, the checkbox's color will be Colors.blue when the Checkbox is being pressed, hovered, or focused. Otherwise, the checkbox's color will be Colors.red.
link

To create a local project with this code sample, run:
flutter create --sample=material.Checkbox.1 mysample

This example shows what the checkbox error state looks like.
link

To create a local project with this code sample, run:
flutter create --sample=material.Checkbox.2 mysample

See also:

Inheritance

Constructors

Checkbox.new({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 a Material Design checkbox.
const
Checkbox.adaptive({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.
const

Properties

activeColor → Color?
The color to use when this checkbox is checked.
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
checkColor → Color?
The color to use for the check icon when this checkbox is checked.
final
fillColor → MaterialStateProperty<Color?>?
The color that fills the checkbox, in all WidgetStates.
final
focusColor → Color?
The color for the checkbox's Material when it has the input focus.
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
hoverColor → Color?
The color for the checkbox's Material when a pointer is hovering over it.
final
isError → bool
True if this checkbox wants to show an error state.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
materialTapTargetSize → MaterialTapTargetSize?
Configures the minimum size of the tap target.
final
mouseCursor → MouseCursor?
The cursor for a mouse pointer when it enters or is hovering over the widget.
final
onChanged → ValueChanged<bool?>?
Called when the value of the checkbox should change.
final
overlayColor → MaterialStateProperty<Color?>?
The color for the checkbox's Material.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
semanticLabel → String?
The semantic label for the checkbox that will be announced by screen readers.
final
shape → OutlinedBorder?
The shape of the checkbox's Material.
final
side → BorderSide?
The color and width of the checkbox's border.
final
splashRadius → double?
The splash radius of the circular Material ink response.
final
tristate → bool
If true the checkbox's value can be true, false, or null.
final
value → bool?
Whether this checkbox is checked.
final
visualDensity → VisualDensity?
Defines how compact the checkbox's layout will be.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<Checkbox>
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.
inherited
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

Constants

width → const double
The width of a checkbox widget.