Checkbox class Null safety
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
of a Checkbox with a MaterialStateProperty.
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
.
To create a local project with this code sample, run:
flutter create --sample=material.Checkbox.1 mysample
flutter create --sample=material.Checkbox.1 mysample
See also:
- CheckboxListTile, which combines this widget with a ListTile so that you can give the checkbox a label.
- Switch, a widget with semantics similar to Checkbox.
- Radio, for selecting among a set of explicit values.
- Slider, for selecting a value in a range.
- material.io/design/components/selection-controls.html#checkboxes
- material.io/design/components/lists.html#types
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- Checkbox
Constructors
-
Checkbox({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}) -
Creates a Material Design checkbox.
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 MaterialStates.
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.
- hoverColor → Color?
-
The color for the checkbox's Material when a pointer is hovering over it.
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.
read-onlyinherited
- 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.protected">@protectedinherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
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">@nonVirtualinherited