【发布时间】:2019-10-05 08:21:04
【问题描述】:
我构建了我的应用程序 homeScreen,其中包含小部件的多个部分,其中大部分基本上是不同大小的 listView,我将它们全部放在列小部件中。
问题是这个listView实际上来自streamBuilder,所以列表中的内容是动态的(来自firebase),所以有时它会包含5个项目或0个项目。
据我所知,当我一般使用 streambuilder 或 listview 时,我需要将这个小部件扭曲到具有预定义高度的容器中,如果 listview 项目只有 1 个并且我将高度预定义为 5 个项目,那么它将显示一个没有任何东西的大空白(因为容器用于 5 个项目,但对于该用户,他/她只有 1 个项目)
Container(
height: screenHeight * 0.4,
child: StreamBuilder<List<Place>>(
stream: database.placesStream(),
builder: (context, snapshot) {
return ListItemsBuilderNoScroll<Place>(
snapshot: snapshot,
itemBuilder: (context, place) => _buildPlaceList(screenWidth, screenHeight, place),
);
},
),
),
那么如何解决这个问题,还是我在这种情况下使用了错误的小部件?
【问题讨论】: