GradientFloatingActionButton.extended constructor

GradientFloatingActionButton.extended({
  1. Key? key,
  2. String? tooltip,
  3. Color? foregroundColor,
  4. Color? backgroundColor,
  5. Color? focusColor,
  6. Color? hoverColor,
  7. Object? heroTag = const _DefaultHeroTag(),
  8. double? elevation,
  9. double? focusElevation,
  10. double? hoverElevation,
  11. Color? splashColor,
  12. double? highlightElevation,
  13. double? disabledElevation,
  14. required VoidCallback? onPressed,
  15. MouseCursor? mouseCursor = SystemMouseCursors.click,
  16. ShapeBorder? shape,
  17. bool isExtended = true,
  18. MaterialTapTargetSize? materialTapTargetSize,
  19. Clip clipBehavior = Clip.none,
  20. FocusNode? focusNode,
  21. bool autofocus = false,
  22. Widget? icon,
  23. required Widget label,
  24. required Gradient gradient,
})

Creates a wider StadiumBorder-shaped floating action button with an optional icon and a label.

The label, autofocus, and clipBehavior arguments must not be null. Additionally, elevation, highlightElevation, and disabledElevation (if specified) must be non-negative.

Implementation

GradientFloatingActionButton.extended({
  Key? key,
  this.tooltip,
  this.foregroundColor,
  this.backgroundColor,
  this.focusColor,
  this.hoverColor,
  this.heroTag = const _DefaultHeroTag(),
  this.elevation,
  this.focusElevation,
  this.hoverElevation,
  this.splashColor,
  this.highlightElevation,
  this.disabledElevation,
  required this.onPressed,
  this.mouseCursor = SystemMouseCursors.click,
  this.shape,
  this.isExtended = true,
  this.materialTapTargetSize,
  this.clipBehavior = Clip.none,
  this.focusNode,
  this.autofocus = false,
  Widget? icon,
  required Widget label,
  required this.gradient,
})  : assert(elevation == null || elevation >= 0.0),
      assert(focusElevation == null || focusElevation >= 0.0),
      assert(hoverElevation == null || hoverElevation >= 0.0),
      assert(highlightElevation == null || highlightElevation >= 0.0),
      assert(disabledElevation == null || disabledElevation >= 0.0),
      _sizeConstraints = _kExtendedSizeConstraints,
      mini = false,
      child = _ChildOverflowBox(
        child: Row(
          mainAxisSize: MainAxisSize.min,
          children: icon == null
              ? <Widget>[
                  const SizedBox(width: 20.0),
                  label,
                  const SizedBox(width: 20.0),
                ]
              : <Widget>[
                  const SizedBox(width: 16.0),
                  icon,
                  const SizedBox(width: 8.0),
                  label,
                  const SizedBox(width: 20.0),
                ],
        ),
      ),
      super(key: key);