iconButtonStyle static method

ButtonStyle iconButtonStyle({
  1. int? backgroundColor,
  2. KRButtonSize size = KRButtonSize.tiny,
  3. bool isCirle = true,
  4. bool isOutline = false,
})

Implementation

static ButtonStyle iconButtonStyle(
    {int? backgroundColor,
    KRButtonSize size = KRButtonSize.tiny,
    bool isCirle = true,
    bool isOutline = false}) {
  return ButtonStyle(
      minimumSize:
          MaterialStateProperty.all<Size>(Size.square(size.squerySize)),
      overlayColor: MaterialStateColor.resolveWith(
          (states) => const Color(KRTheme.DEFAULT_PRIMARY_OVERLAY_COLOR)),
      padding: MaterialStateProperty.all<EdgeInsets>(const EdgeInsets.all(4)),
      shape: MaterialStateProperty.all<RoundedRectangleBorder>(
          RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(isCirle ? 50.0 : 5),
              side: isOutline
                  ? const BorderSide(
                      color: Color(KRTheme.DEFAULT_PRIMARY_COLOR), width: 1.5)
                  : BorderSide.none)),
      backgroundColor: isOutline
          ? null
          : KRColor(
              defaultColor: backgroundColor ?? KRTheme.DEFAULT_CLEAR_COLOR,
              pressedColor: KRTheme.DEFAULT_PRIMARY_LIGHT_COLOR));
}