是否可以使用 Timer 包装我的 CircularProgressIndicator...我想显示我的 CircularProgressIndicator 3 秒,但我不知道该怎么做...我读过的大部分资源都包装了一个函数由 Timer 内的 CircularProgressIndicator 组成。这是我的代码
Future getData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String dataIn = prefs.getString("clockin");
return dataIn;
}
Widget defaultClock() {
return FutureBuilder(
future: getData(),
builder: (context, snap) {
if (snap.hasData) {
return Text(snap.data);
} else {
return CircularProgressIndicator();
}
},
);
}
最佳答案
您可以使用 Future.delayed 来做到这一点.
以下最少的代码解释得更清楚。
String data;
Future getData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String dataIn = prefs.getString("clockin") ?? 'default';
return dataIn;
}
callme() async {
await Future.delayed(Duration(seconds: 3));
getData().then((value) => {
setState(() {
data = value;
})
});
}
@override
void initState() {
super.initState();
callme();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: data == null ? CircularProgressIndicator() : Text(data),
),
);
}
关于flutter - 如何在 flutter 中显示 CircularProgressIndicator 3 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61422706/