ReactiveSwitch constructor

ReactiveSwitch({
  1. Key? key,
  2. String? formControlName,
  3. FormControl<bool>? formControl,
  4. Color? activeColor,
  5. Color? activeTrackColor,
  6. Color? inactiveThumbColor,
  7. Color? inactiveTrackColor,
  8. ImageProvider<Object>? activeThumbImage,
  9. ImageErrorListener? onActiveThumbImageError,
  10. ImageProvider<Object>? inactiveThumbImage,
  11. ImageErrorListener? onInactiveThumbImageError,
  12. MaterialTapTargetSize? materialTapTargetSize,
  13. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  14. Color? focusColor,
  15. Color? hoverColor,
  16. bool autofocus = false,
  17. MaterialStateProperty<Color?>? thumbColor,
  18. MaterialStateProperty<Color?>? trackColor,
  19. MouseCursor? mouseCursor,
  20. MaterialStateProperty<Color?>? overlayColor,
  21. double? splashRadius,
  22. FocusNode? focusNode,
})

Creates a ReactiveSwitch that wraps a material design switch.

Can optionally provide a formControl to bind this widget to a control.

Can optionally provide a formControlName to bind this ReactiveFormField to a FormControl.

Must provide one of the arguments formControl or a formControlName, but not both at the same time.

For documentation about the various parameters, see the Switch class and Switch, the constructor.

Implementation

ReactiveSwitch({
  Key? key,
  String? formControlName,
  FormControl<bool>? formControl,
  Color? activeColor,
  Color? activeTrackColor,
  Color? inactiveThumbColor,
  Color? inactiveTrackColor,
  ImageProvider? activeThumbImage,
  ImageErrorListener? onActiveThumbImageError,
  ImageProvider? inactiveThumbImage,
  ImageErrorListener? onInactiveThumbImageError,
  MaterialTapTargetSize? materialTapTargetSize,
  DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  Color? focusColor,
  Color? hoverColor,
  bool autofocus = false,
  MaterialStateProperty<Color?>? thumbColor,
  MaterialStateProperty<Color?>? trackColor,
  MouseCursor? mouseCursor,
  MaterialStateProperty<Color?>? overlayColor,
  double? splashRadius,
  FocusNode? focusNode,
}) : super(
        key: key,
        formControl: formControl,
        formControlName: formControlName,
        builder: (field) {
          final state = field as _ReactiveSwitchState<bool, bool>;

          state._setFocusNode(focusNode);

          return Switch(
            value: field.value ?? false,
            onChanged: field.control.enabled ? field.didChange : null,
            activeColor: activeColor,
            activeTrackColor: activeTrackColor,
            inactiveThumbColor: inactiveThumbColor,
            inactiveTrackColor: inactiveTrackColor,
            activeThumbImage: activeThumbImage,
            onActiveThumbImageError: onActiveThumbImageError,
            inactiveThumbImage: inactiveThumbImage,
            onInactiveThumbImageError: onInactiveThumbImageError,
            materialTapTargetSize: materialTapTargetSize,
            dragStartBehavior: dragStartBehavior,
            focusColor: focusColor,
            hoverColor: hoverColor,
            autofocus: autofocus,
            thumbColor: thumbColor,
            trackColor: trackColor,
            mouseCursor: mouseCursor,
            overlayColor: overlayColor,
            splashRadius: splashRadius,
            focusNode: state.focusNode,
          );
        },
      );