flutter - 在颤动一定延迟后,有没有办法处理或弹出小部件?
问题描述
我试图在一段时间后处理我的加载动画,有什么办法可以实现吗?谢谢你。
解决方案
您可以更改 setState 中的小部件:
class _PageState extends State<Page> {
Widget _loading = Container(child: Text("loading"));
Future<void> _removeLoading() async {
await Future.delayed(Duration(seconds: 30));
setState(() {
_loading = Container();
});
}
@override
void initState() {
super.initState();
_removeLoading();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: _loading,
),
);
}
或者有一个布尔变量改变状态:
class _PageState extends State<Page> {
boool _loading = true;
Future<void> _stopLoading() async {
await Future.delayed(Duration(seconds: 30));
setState(() {
_loading = false;
});
}
@override
void initState() {
super.initState();
_stopLoading();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: child: loading ? YourLoadingWidget : NotALoadingWidget
);
}
推荐阅读
- javascript - 使用动态键减少对象数组
- java - 如何继续实施子菜单?Java 终端菜单
- go - 如何打印结构的 []byte 成员字符串
- sql - 如何使用 Microsoft Access 按日期获取最新记录
- javascript - 这个socket.io javascript示例如何翻译成打字稿
- esp32 - 使用 ESP32 和 Mongoose OS 检测按钮按下/GPIO 下拉
- saxon - 模式感知流是可能的吗?
- php - 使用函数存在并需要一次 - 仍然致命错误:先前声明
- reactjs - Reactstrap 通用 flex 指令
- javascript - 如何将我的 Gatsby 网站的索引页面设置为动态生成的页面之一?