let's try
```
SingleChildScrollView(
child: Center(
child: FutureBuilder(
future: fetchPhotos(),
builder: (ctx, snapShot) {
if (snapShot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else {
return ListView.builder(
shrinkWrap: true,
physics: ScrollPhysics(),
itemBuilder: (context, index) {
return ListTile(
leading: CircleAvatar(
backgroundColor: Colors.red,
),
title: Text(snapShot.data["table"][index]["name"]),
subtitle: Text(
"price: ${snapShot.data["table"][index]["class_id"]}"),
);
},
);
}
},
),
),
),
```
You want to wrap your card in a `Column` because the inner Column take full height
Column(children: <Widget>[
Card(
margin: const EdgeInsets.all(10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AspectRatio(
aspectRatio: 18.0 / 13.0,
child: Image.network(
"https://picsum.photos/200",
fit: BoxFit.fill,
),
),
Padding(
padding: EdgeInsets.fromLTRB(16.0, 12.0, 16.0, 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Just add your desired image size (width & height) after our URL, and you'll get a random image.",
textAlign: TextAlign.center,
),
],
),
),
],
),
)
])
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/DCeSM.png