首页 > 解决方案 > 如何使用 FirebaseAnimatedList 和 SplashScreen?

问题描述

我正在从 firebase 获取数据并将其显示在列表中。但是一旦页面打开,它就会有几秒钟的空白,因为获取数据和显示需要时间。所以我想显示一个启动/加载屏幕,并在后台加载另一个页面,使其准备好获取数据。因此,一旦显示该页面,它就不会为空,而是显示获取的内容。请帮我怎么做?

这是我显示从 firebase 获取的列表的方式。我用

FirebaseAnimatedList.
 body: FirebaseAnimatedList(
  query: itemRef,
  itemBuilder: (BuildContext context, DataSnapshot snapshot,
      Animation<double> animation, int index) {
    return Text('It work ');
}),

标签: firebaseflutterdart

解决方案


您可以使用 FutureBuilder,一旦您的数据被加载,请移除 SplashScreen:

    return FutureBuilder<List<String>>(
        future: _firebaseData,
        builder: (context, AsyncSnapshot<List<String>> snapshot) {
          if (snapshot.connectionState == ConnectionState.done &&
              snapshot.hasData) {
            List<String> firebaseData = snapshot.data; 
            return ListView( [...]
           }
           else
                return SplashScreen();
);


推荐阅读