Flutter-列表磁贴或卡片分隔符

时间:2019-05-04 16:23:22

标签: dart flutter flutter-layout

我正在从Firestore数据库构建列表视图。我本来想用ListTiles分隔项目,因为我知道它们可以分隔,但是我没有得到想要的高度,所以我转到了透明Cards。

问题是我不知道如何在每张卡之后添加分隔符或分隔符。

到目前为止,这是我的代码

Widget build(BuildContext context) {
if (snapshot == null) return CircularProgressIndicator();
return Scaffold(
  body: ListView.builder(
          itemCount: snapshot.length,
          itemBuilder: (context, index){
            return Card(
              elevation: 0,
              color: Colors.transparent,
              child: Row(
                children: <Widget>[
                  Padding(padding: EdgeInsets.all(10.0),),
                  Column(
                    children: <Widget>[
                      Padding(padding: EdgeInsets.all(10.0),),
                      Text(snapshot[index].data["month"], style:
                        TextStyle(fontSize: 30, fontWeight: 
FontWeight.w300),),
                      Text(snapshot[index].data["day"], style:
                      TextStyle(fontSize: 20),),
                    ],
                  )
                ],
              ),
            );
          }
        ),
      );

  }
}

所需 enter image description here

当前

enter image description here

我认为列表图块会更好,但是我尝试了如何构建自定义列表图块,而我无法复制结果。

1 个答案:

答案 0 :(得分:1)

使用ListView.separated

ListView.separated(
  separatorBuilder: (context, index) => Divider(
        color: Colors.black,
      ),
  itemCount: 20,
  itemBuilder: (context, index) => Padding(
        padding: EdgeInsets.all(8.0),
        child: Center(child: Text("Index $index")),
      ),
)

或divideTiles()

ListView(
  children: ListTile.divideTiles(
    context: context,
    tiles: [
      // your widgets here
    ]
  ).toList(),
)