是否可以使用计时器包装我的 CircularProgressIndicator...我想显示我的 CircularProgressIndicator 3 秒,但我不知道该怎么做...我读过的大部分资源都包装了由 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();
}
},
);
}
Run Code Online (Sandbox Code Playgroud)
您可以使用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),
),
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14662 次 |
| 最近记录: |