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.


To fix this issue, you can wrap the Column inside an Expanded widget. This will allow the Column to take up the available height inside the Container