eActionIcon function

Widget eActionIcon({
  1. required BuildContext context,
  2. required String name,
  3. String? package,
  4. String? tooltip,
  5. Color? color,
  6. double? size,
  7. EdgeInsetsGeometry? padding,
  8. VoidCallback? onPressed,
})

Implementation

Widget eActionIcon({
  required BuildContext context,
  required String name,
  String? package,
  String? tooltip,
  Color? color,
  double? size,
  EdgeInsetsGeometry? padding,
  VoidCallback? onPressed,
}) {
  var theme =
      AppBarTheme.of(context).actionsIconTheme ?? Theme.of(context).iconTheme;
  var result = Padding(
    padding: padding ?? const EdgeInsets.symmetric(horizontal: 4),
    child: Styled.widget(
        child: Image.asset(
      name,
      package: package,
      width: size ?? theme.size ?? 24,
      height: size ?? theme.size ?? 24,
      color: color ?? theme.color ?? Colors.grey,
    )),
  )
      .gestures(
        behavior: HitTestBehavior.opaque,
        onTap: () => onPressed?.call(),
      )
      .cursor();
  if (tooltip != null) {
    result = Tooltip(
      message: tooltip,
      child: result,
    );
  }
  return result;
}