QudsAnimatedCombinedIconsButton constructor

const QudsAnimatedCombinedIconsButton({
  1. required IconData startIcon,
  2. required IconData endIcon,
  3. Color? startIconColor,
  4. Color? endIconColor,
  5. Color? color,
  6. bool showStartIcon = true,
  7. VoidCallback? onPressed,
  8. String? tooltip,
  9. bool autofocus = false,
  10. FocusNode? focusNode,
  11. double? iconSize = 24,
  12. bool? withRotation,
  13. Curve curve = Curves.fastLinearToSlowEaseIn,
  14. EdgeInsets padding = const EdgeInsets.all(8.0),
  15. Duration duration = const Duration(milliseconds: 400),
  16. MouseCursor mouseCursor = SystemMouseCursors.click,
  17. TextDirection? textDirection,
  18. Key? key,
})

This widgets consists of startIcon & endIcon, color is the icons color, will be applied to the both of icons, unless startIconColor, endIconColor are set. iconSize is the size of the two icons. showStartIcon if is true the widget will show initially the startIcon, if set to false it will show initially the endIcon. withRotation indicates weather the icons will transite with rotation. curve the curve of the transition velocity. duration the duration of the transition, initially set to 400 ms textDirection the direction of the icons. onPressed called when the user press the button. tooltip a short message shown when the user hold a tap over the button. autoFocus indicates weather the button will be auto focused.

Implementation

const QudsAnimatedCombinedIconsButton(
    {required this.startIcon,
    required this.endIcon,
    this.startIconColor,
    this.endIconColor,
    this.color,
    this.showStartIcon = true,
    this.onPressed,
    this.tooltip,
    this.autofocus = false,
    this.focusNode,
    this.iconSize = 24,
    this.withRotation,
    this.curve = Curves.fastLinearToSlowEaseIn,
    this.padding = const EdgeInsets.all(8.0),
    this.duration = const Duration(milliseconds: 400),
    this.mouseCursor = SystemMouseCursors.click,
    this.textDirection,
    Key? key})
    : super(key: key);