asBadge method

Widget asBadge(
  1. dynamic chip
)

Convert a chip data into Widget.

  • chip String, return a Text badge;
  • chip IconData, return a Icon badge;
  • chip Widget, return a Widget badge;

Implementation

Widget asBadge(dynamic chip) {
  if (chip is String) {
    return Positioned.fill(
      child: Align(
        alignment: Alignment.center,
        child: Container(
          margin: margin,
          padding: padding,
          decoration: BoxDecoration(
            shape: BoxShape.rectangle,
            color: badgeColor,
            borderRadius: BorderRadius.circular(borderRadius),
          ),
          child: Text(chip, style: TextStyle(color: textColor, fontSize: 12)),
        ),
      ),
    );
  } else if (chip is IconData) {
    return Positioned.fill(
      child: Align(
        alignment: Alignment.center,
        child: Container(
          margin: margin,
          padding: padding,
          child: Icon(chip, color: badgeColor, size: 14),
        ),
      ),
    );
  } else if (chip is Widget) {
    return Positioned.fill(
      child: Align(
        alignment: Alignment.center,
        child: Container(margin: margin, padding: padding, child: chip),
      ),
    );
  } else if (chip is Color) {
    return Positioned.fill(
      child: Align(
        alignment: Alignment.center,
        child: Container(
          margin: margin,
          padding: padding,
          child: Container(
            decoration: BoxDecoration(shape: BoxShape.circle, color: chip),
            width: 10,
            height: 10,
          ),
        ),
      ),
    );
  } else {
    return Container();
  }
}