SegmentedButton<T> constructor
- Key? key,
- required List<
ButtonSegment< segments,T> > - required Set<
T> selected, - void onSelectionChanged(
- Set<
T>
- Set<
- bool multiSelectionEnabled = false,
- bool emptySelectionAllowed = false,
- EdgeInsets? expandedInsets,
- ButtonStyle? style,
- bool showSelectedIcon = true,
- Widget? selectedIcon,
- Axis direction = Axis.horizontal,
Creates a const SegmentedButton.
segments
must contain at least one segment, but it is recommended
to have two to five segments. If you need only single segment,
consider using a Checkbox or Radio widget instead. If you need
more than five options, consider using FilterChip or ChoiceChip
widgets.
If onSelectionChanged
is null, then the entire segmented button will
be disabled.
By default selected
must only contain one entry. However, if
multiSelectionEnabled
is true, then selected
can contain multiple
entries. If emptySelectionAllowed
is true, then selected
can be empty.
Implementation
const SegmentedButton({
super.key,
required this.segments,
required this.selected,
this.onSelectionChanged,
this.multiSelectionEnabled = false,
this.emptySelectionAllowed = false,
this.expandedInsets,
this.style,
this.showSelectedIcon = true,
this.selectedIcon,
this.direction = Axis.horizontal,
}) : assert(segments.length > 0),
assert(selected.length > 0 || emptySelectionAllowed),
assert(selected.length < 2 || multiSelectionEnabled);