Вы можете использовать Stack
и Positioned
(зная высоту карт). Как это:
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home'),
),
body: Stack(
children: <Widget>[
Positioned(
bottom: 150.0,
left: 0.0,
right: 0.0,
child: Card(
margin: EdgeInsets.zero,
elevation: 3.0,
color: Colors.red,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30.0)),
),
child: Container(
width: double.infinity,
height: 200.0,
),
),
),
Positioned(
bottom: 50.0,
left: 0.0,
right: 0.0,
child: Card(
margin: EdgeInsets.zero,
elevation: 3.0,
color: Colors.blue,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30.0)),
),
child: Container(
width: double.infinity,
height: 200.0,
),
),
),
Positioned(
bottom: -50.0,
left: 0.0,
right: 0.0,
child: Card(
margin: EdgeInsets.zero,
elevation: 3.0,
color: Colors.orange,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30.0)),
),
child: Container(
width: double.infinity,
height: 200.0,
),
),
),
],
),
);
}
}
Я рекомендую создать отдельный виджет, чтобы избежать дублирования кода и, возможно, заполнить его из списка. Я просто даю идею.
Конечный результат