buildByMaterial method

  1. @override
Widget buildByMaterial(
  1. BuildContext context
)

build on material mode

Implementation

@override
Widget buildByMaterial(BuildContext context) {
  final selectedIdx = valueOf('selectedIndex', selectedIndex);
  final labelsList = valueOf('labels', labels);

  return SegmentedButton<int>(
    segments: List.generate(
      labelsList.length,
      (index) => ButtonSegment<int>(
        value: index,
        label: Text(labelsList[index]),
      ),
    ),
    selected: {selectedIdx},
    onSelectionChanged: (Set<int> newSelection) {
      if (newSelection.isNotEmpty) {
        valueOf('onValueChanged', onValueChanged)?.call(newSelection.first);
      }
    },
  );
}