我想创建一个水平滚动的卡片列表,当从左或右滑动时,可以使用 snap 以适应效果。
每张卡片之间都有一些间距,适合屏幕,如下图所示
除此之外,这些可水平滚动的列表元素应包含在可垂直滚动的列表中。
在flutter docs中的示例之后,我所能实现的只是显示水平滚动卡的列表。
class SnapCarousel extends StatelessWidget {
@override
Widget build(BuildContext context) {
final title = 'Horizontal List';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: Container(
margin: EdgeInsets.symmetric(vertical: 20.0),
height: 200.0,
child: ListView(
scrollDirection: Axis.horizontal,
children: <Widget>[
Container(
width: 160.0,
color: Colors.red,
),
Container(
width: 160.0,
color: Colors.blue,
),
Container(
width: 160.0,
color: Colors.green,
),
Container(
width: 160.0,
color: Colors.yellow,
),
Container(
width: 160.0,
color: Colors.orange,
),
],
),
),
),
);
}
}