flutter - Flutter:有没有办法知道何时加载列表视图构建器?
问题描述
我是 Flutter 的新手,我对 listview 构建器的行为并不完全确定,我正在做一个屏幕,它有一个带有多个卡的 listview 构建器,每个卡都有不同的信息和背景图像。我的问题是当应用程序第一次启动时,加载和构建卡片的资产可能需要 0.5 秒,同时用户会看到白色背景的卡片(它很短但仍然有点难看)。我尝试在开始时使用 true 的布尔值,显示带有圆形进度指示器的容器,在 0.5 延迟后将布尔值设置为 false,然后更改为列表视图。它没有工作,因为它在调用时加载了列表视图,所以我不知道我能做些什么来解决这个问题。
这是我试过的
void initState(){
Future.delayed(const Duration(milliseconds: 500), () {
setState(() {
loading = false;
});
});
}
Widget build(BuildContext context) {
return loading ? circleLoading() : Scaffold(
...
解决方案
FutureBuilder(
future: //API CALL,
initialData: [],
builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.data.isEmpty)
return Center(child: CircularProgressIndicator()); //CIRCULAR INDICATOR
else
return createTasksListView(context, snapshot);
}),
),
推荐阅读
- python - 通过 xpath 枚举元素时 Selenium chromedriver 异常
- buildroot - Pocketsphinx french 在我的 buildroot 嵌入式设备上不起作用
- node.js - NodeJS:承诺/等待会加快我的代码吗?
- database - 主键和实体id的区别
- java - com.twilio.exception.ApiException:Twilio 找不到具有指定发件人地址的频道
- xamarin.forms - 在 CollectionView 中使用 ItemTemplate 绑定的 Xamarin Forms 4(pre 9)问题
- css - 如何为 CSS 网格中的行和列设置相等的边距?
- c - “进程终止,状态为 -1073741510(0 分钟,6 秒)”
- python - 从 tkinter 中的 file1 按下按钮时如何跳转运行/执行 file2
- python - 获取类中的ipywidget按钮以通过self访问类参数?