一段时间后,我试图处理加载的动画,有什么办法可以实现?谢谢。
答案 0 :(得分:0)
您可以在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
);
}