build method
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),
),
),
],
),
),
],
),
);
}