CupertinoRadio<T> class
A macOS-style radio button.
Used to select between a number of mutually exclusive values. When one radio
button in a group is selected, the other radio buttons in the group are
deselected. The values are of type T
, the type parameter of the
CupertinoRadio class. Enums are commonly used for this purpose.
The radio button itself does not maintain any state. Instead, selecting the radio invokes the onChanged callback, passing value as a parameter. If groupValue and value match, this radio will be selected. Most widgets will respond to onChanged by calling State.setState to update the radio button's groupValue.
The currently selected character is passed into groupValue
, which is
maintained by the example's State
. In this case, the first CupertinoRadio
will start off selected because _character
is initialized to
SingingCharacter.lafayette
.
If the second radio button is pressed, the example's state is updated
with setState
, updating _character
to SingingCharacter.jefferson
.
This causes the buttons to rebuild with the updated groupValue
, and
therefore the selection of the second button.
To create a local project with this code sample, run:
flutter create --sample=cupertino.CupertinoRadio.1 mysample
See also:
- CupertinoSlider, for selecting a value in a range.
- CupertinoCheckbox and CupertinoSwitch, for toggling a particular value on or off.
- Radio, the Material Design equivalent.
- developer.apple.com/design/human-interface-guidelines/components/selection-and-input/toggles/
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- CupertinoRadio
Constructors
-
CupertinoRadio({Key? key, required T value, required T? groupValue, required ValueChanged<
T?> ? onChanged, MouseCursor? mouseCursor, bool toggleable = false, Color? activeColor, Color? inactiveColor, Color? fillColor, Color? focusColor, FocusNode? focusNode, bool autofocus = false, bool useCheckmarkStyle = false}) -
Creates a macOS-styled radio button.
const
Properties
- activeColor → Color?
-
The color to use when this radio button is selected.
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
- fillColor → Color?
-
The color that fills the inner circle of the radio button when selected.
final
- focusColor → Color?
-
The color for the radio's border when it has the input focus.
final
- focusNode → FocusNode?
-
An optional focus node to use as the focus node for this widget.
final
- groupValue → T?
-
The currently selected value for a group of radio buttons.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- inactiveColor → Color?
-
The color to use when this radio button is not selected.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- mouseCursor → MouseCursor?
-
The cursor for a mouse pointer when it enters or is hovering over the
widget.
final
-
onChanged
→ ValueChanged<
T?> ? -
Called when the user selects this CupertinoRadio button.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- toggleable → bool
-
Set to true if this radio button is allowed to be returned to an
indeterminate state by selecting it again when selected.
final
- useCheckmarkStyle → bool
-
Controls whether the radio displays in a checkbox style or the default iOS
radio style.
final
- value → T
-
The value represented by this radio button.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< CupertinoRadio< T> > -
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