The column inside the gridview is overflowing in each and every item of the grid view, and I do not understand what is going on in here.
Expanded(
child: GridView.builder(
itemCount: 4,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, mainAxisExtent: 150, mainAxisSpacing: 20),
itemBuilder: (context, int index) {
return Recommendations();
},
))
// Recommendations Section
class Recommendations extends StatelessWidget {
const Recommendations({super.key});
@override
Widget build(BuildContext context) {
return Container(
width: 180,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(15),
boxShadow: [
BoxShadow(
color: Colors.black12,
blurRadius: 2,
spreadRadius: 1,
)
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Stack(
children: [
Container(
decoration: BoxDecoration(
color: Colors.red, borderRadius: BorderRadius.circular(15)),
width: 180,
height: 180,
child: Text(""),
)
],
),
Padding(
padding: const EdgeInsets.only(left: 10.0, right: 10.0, top: 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"Powerfule am",
style: TextStyle(fontWeight: FontWeight.bold),
),
Text(
"Rs. 24,000",
style: TextStyle(fontWeight: FontWeight.bold),
),
],
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: ElevatedButton(
onPressed: () {},
child: Text("Learn More", style: TextStyle(fontSize: 10)),
style: ElevatedButton.styleFrom(
backgroundColor: Colors.grey.shade800,
minimumSize: Size.zero,
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 10),
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15),
),
),
),
)
],
),
);
}
}
I can do it while using a listview and row but it would not be optimal, and I think there would be be better solutions than this.
I hope you can help me with this one.
Thank you for reading.