build method

  1. @override
Widget build(
  1. BuildContext context
)
override

Creamos la tarjeta de acuerdo a los datos que nos da el programador

Implementation

@override
Widget build(BuildContext context) {
  return Container(
    clipBehavior: Clip.hardEdge, //Para que quede la imagen redondeada
    width: width,
    height: height,
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(border), //Borde de la tarjeta
      color: background, //Color de la tarjeta
      boxShadow: const [
        BoxShadow(
          offset: Offset(8, 5),
          color: Colors.grey,
          blurRadius: 25,
        ),
      ],
    ),
    child: Stack(
      children: [
        SizedBox(
          width: double.infinity,
          height:
              220, //Este valor depende del alto de nuestra tarjeta. Unos 80px menos
          child: Image.network(
            url,
            fit: BoxFit.cover, //Para que la imagen se acople
          ),
        ),
        Positioned(
          top: 10,
          left: 10,
          child: Row(
            children: [
              Icon(
                icon,
                color: iconColor,
              ),
              Text(
                score.toString(),
                style: TextStyle(
                  fontWeight: FontWeight.bold,
                  fontSize: 15,
                  color: background,
                ),
              ),
            ],
          ),
        ),
        Positioned(
          ///En esta zona se encuentran los botones con sus propiedades.
          bottom: 20,
          child: Row(
            children: [
              TextButton.icon(
                onPressed: onTap,
                icon: Icon(
                  iconButton,
                  color: iconButtonColor,
                ),
                label: Text(
                  label1,
                  style: TextStyle(
                    fontSize: 10,
                    color: iconButtonColor,
                  ),
                ),
              ),
              TextButton.icon(
                onPressed: onTap2,
                icon: Icon(
                  iconButtonDetails,
                  color: iconButtonColor,
                ),
                label: Text(
                  label2,
                  style: TextStyle(fontSize: 10, color: iconButtonColor),
                ),
              ),
            ],
          ),
        ),
      ],
    ),
  );
}