抖动刷新数据,没有屏幕闪烁和滚动问题

时间:2018-03-12 14:14:16

标签: flutter

我有一个显示聊天消息的页面,并在我的flutter应用程序中将一组消息的日期作为分隔符。数据是从localDB中提取的,我试图通过轮询数据库获取更新来刷新数据,但每次重建流时,甚至将来它会使屏幕闪烁并自动滚动到列表的顶部。代码太大了,所以我发布了here

它使用Stream构建器,该构建器使用从第一个流获取的数据调用窗口小部件,并使用另一个streambuilder构建消息。我确信这与它有关,但不知道如何改变它或修复闪烁和滚动怪异。

希望有人对如何更好地处理这个或修复闪烁有一些想法。

1 个答案:

答案 0 :(得分:1)

您可以尝试为每个页面创建一个“应用状态”,例如:

正在加载应用程序状态 - 当您从数据库/服务器轮询时显示进度指示器。

成功应用状态 - 这会关闭进度指示器,只显示一个空容器,显示您的数据。

失败的应用状态 - 显示您选择的错误图标。

也许你可以试试这个库,Flutter GetX,我推荐这个库,因为它使用起来很简单。

它具有状态管理库,使用流和 setState({}) 为我节省了大量时间和代码。