flutter - 闪屏出现延迟
问题描述
我正在尝试实现颤振 Getx 插件并制作了一些像这样的启动画面:
class SplashScreen extends StatelessWidget {
const SplashScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetBuilder(
init: SplashController(),
builder: (_) => Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
)
);
}
}
然后我写了一个像这样的splashcontroller:
class SplashController extends GetxController {
@override
void onReady() {
// TODO: implement onReady
super.onReady();
myFunctionCalculations();
final Controller _controller = Get.put(controller());
List items = _controller.items;
if (items > 0) {
Get.off(OnePlayerScreen());
}
}
}
现在从我的 HomeScreen 我点击一个按钮来导航到这个启动屏幕。它什么也不做
onPressed: () {
Get.to(SplashScreen());
}
问题是我想在我的函数运行时显示圆形指示器,并且当它填充列表项以转到项目屏幕时,但是当我点击按钮以获取启动画面时,它会等待一段时间,直到启动画面出现然后立即进入项目屏幕,因为同时它填充了列表。当我不初始化函数时,它会立即进入初始屏幕,我会看到指示器。
为什么我得到这个功能?我认为它应该显示加载指示器并同时填充列表。但是似乎当我从 HomeScreen 中点击按钮时,该功能已初始化,并且当它的启动时出现启动画面。我究竟做错了什么?
解决方案
你不是忘记调用update()
你的计算函数了吗?
而且您的功能似乎是async
,所以您应该await
在填充列表之前
推荐阅读
- node.js - 使用nodejs打开或关闭USB端口电源
- spring - 如何为 RestTemplate 调用 SOAP 服务端点
- javascript - 如何使用 $.map 和 Object.keys 函数从给定的 Object.keys 数组中获取第一个值?
- javascript - 在 VSCode 中调试 TypeScript 改为进入编译后的 JavaScript
- picketlink - idm picketlink list roles of a group is building a lot of queries, FetchMode 和 Fettype 没有影响
- excel - 我可以将最大读数与该最大读数的日期配对吗?
- r - 没有截距的逻辑回归给出了合适的警告信息
- c++ - 如何删除 QCompleter 的内联完成?
- c# - 删除 C# JSON 输出中的转义反斜杠
- python-3.x - 如果这些单词包含字符串中不存在的字母,则从列表中删除这些单词