颤抖的StaggeredGridView显示条件下的图块

时间:2019-02-13 03:50:00

标签: flutter flutter-layout staggered-gridview

我在我的Flutter项目之一中使用了 StaggeredGridView 。根据数据的可用性,我不想加载几个区块

例如。我正在显示5个图块,其中3个图块取决于网络上可用的数据。有时可能需要10到15秒。现在,如果我返回一个Container()直到加载数据,那么它也将保留整个布局中的空间。

如果数据不可用或加载时间太长,我只是不想将该图块添加到网格中。加载后,应该显示它。

提前谢谢

2 个答案:

答案 0 :(得分:2)

Widget build(BuildContext context) {
  return StreamBuilder<GridData>(
    stream: [Stream end point] // your stream url,
    builder: (context, snapshot) {
     if (!snapshot.hasData) return LoadingSpinner();
     return [View that you want to return]; // Your grid code.
   }
  )
}

示例代码

答案 1 :(得分:2)

在创建StaggeredGridView时,请设置staggeredTiles属性,并确保传入StaggeredTile.fit(1)来表示要隐藏的图块。这样,磁贴将包裹其内容,因此,如果没有内容,它将被隐藏。