GunAction.icon constructor

GunAction.icon({
  1. required Widget icon,
  2. int? badge,
  3. VoidCallback? onTap,
  4. double? iconFactor,
  5. double? sizeFactor,
})

Implementation

factory GunAction.icon(
    {required Widget icon,
    int? badge,
    VoidCallback? onTap,
    double? iconFactor,
    double? sizeFactor}) {
  return GunAction(
    child: Stack(
      children: [
        AspectRatio(
            aspectRatio: sizeFactor ?? 0.75,
            child: FractionallySizedBox(
                widthFactor: iconFactor ?? 0.6,
                heightFactor: iconFactor ?? 0.6,
                child: icon)),
        if (onTap != null)
          Positioned.fill(
              child: Material(
            color: Colors.transparent,
            child: Container(
              alignment: Alignment.center,
              padding: EdgeInsets.zero,
              child: AspectRatio(
                aspectRatio: 1,
                child: InkWell(
                  borderRadius: BorderRadius.circular(500.0),
                  onTap: onTap,
                ),
              ),
            ),
          )),
      ],
    ),
    badge: badge,
  );
}