Удалите плитку из StaggeredGridView.count?

#flutter #stream-builder #staggered-gridview

Вопрос:

У меня есть макет в flutter, который структурирован следующим образом:

  StreamBuilder<datamodel>(
      stream: OurDatabase().myDevice(this.key),
      builder: (context, snapshot) {
         if(!snapshot.hasData){ //Return loading screen }
  else {

     return StaggeredGridView.count(
          crossAxisCount: 2,
          crossAxisSpacing: 12.0,
          mainAxisSpacing: 12.0,
          padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 8.0),
          children:  <Widget> [
          //Hardcoded Widgets
            
         for (var i =0; i < 6; i  ) CustomWidget(....)      
        ]
        //Tilesize is an array of numbers)
         StaggeredTile.extent(2, tilesize[0]),
            StaggeredTile.extent(1, tilesize[1]),
            StaggeredTile.extent(1, tilesize[2]),
            
            StaggeredTile.extent(2,tilesize[3]),
            StaggeredTile.extent(2,tilesize[4]),
            StaggeredTile.extent(2,tilesize[5]),
            StaggeredTile.extent(2,tilesize[6]),
            StaggeredTile.extent(2,tilesize[7]),
            StaggeredTile.extent(2,tilesize[8]),
  
  }
 

CustomWidget возвращает виджет в зависимости от размера плитки, который пользователь может изменить при нажатии. Я хотел бы удалить или скрыть плитки в зависимости от состояния потока, который я слушаю. Я использовал виджет «Видимость», однако проблема заключается в расстоянии из-за расстояния между основными осями. Как я могу удалить виджет или устранить проблему с расстоянием? Есть ли способ добавить условие в цикл for, которое отображает виджеты?