StreamCheckbox class

A checkbox styled for the Stream design system.

StreamCheckbox displays a toggleable check indicator that adapts its appearance based on interaction state (hover, pressed, disabled, selected). Visual properties can be customized via StreamCheckboxTheme and StreamCheckboxStyle.

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.

Use StreamCheckbox.circular for a circle-shaped variant commonly used in single-selection (radio-like) patterns.

The widget wraps its content with Semantics for accessibility support. Provide a semanticLabel to give screen readers a meaningful description.

{@tool snippet}

Basic checkbox:

StreamCheckbox(
  value: isChecked,
  onChanged: (value) => setState(() => isChecked = value),
)

{@end-tool}

{@tool snippet}

Small disabled checkbox:

StreamCheckbox(
  value: true,
  size: StreamCheckboxSize.sm,
  onChanged: null,
)

{@end-tool}

See also:

Inheritance

Constructors

StreamCheckbox({Key? key, required bool value, required ValueChanged<bool>? onChanged, StreamCheckboxSize? size, OutlinedBorder? shape, String? semanticLabel})
Creates a Stream checkbox.
StreamCheckbox.circular({Key? key, required bool value, required ValueChanged<bool>? onChanged, StreamCheckboxSize? size, String? semanticLabel})
Creates a circular Stream checkbox (radio check).

Properties

hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
props StreamCheckboxProps
The props controlling the appearance and behavior of this checkbox.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
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