颤动的StaggeredGridView条件显示瓷砖

问题描述 投票:1回答:2

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

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

如果数据不可用或需要很长时间加载,我只是不想将该磁贴添加到网格中。加载后应显示。

提前感谢你

flutter flutter-layout staggered-gridview
2个回答
2
投票

在创建StaggeredGridView时,设置staggeredTiles属性并确保为要隐藏的切片传入StaggeredTile.fit(1)。这样瓷砖将包装它的内容,所以如果没有内容,它将被隐藏。


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.
   }
  )
}

示例代码

© www.soinside.com 2019 - 2024. All rights reserved.