是否可以在“后台”预构建一个复杂页面(包含图像、Firestore 数据),并在等待小部件完全渲染时显示加载屏幕?
我有一个 HomePage()
,从 Firestore 获取数据并加载一些图像到滑块小部件中。渲染图像和从 Firestore 中获取数据需要一些时间。我希望main()
在“后台”构建 HomePage()
并在等待时显示加载屏幕。
是的,有一个FutureBuilder小部件可以完美实现这个功能。
FutureBuilder(
future: future,
builder: (context, snapshot) {
if(snapshot.connectionState == ConnectionState.waiting){
return const Center(child: CircularProgressIndicator());
} else {
return yourWidget();
}
},
),
Future
只带来数据,而不是Widget
,所以您的Widget
应该是一个轻量级、愚蠢的数据呈现器,并将在builder
内构建。 - pskink