使用 Flutter 在 Web 视图中单击 url 后如何显示加载屏幕?

How to show loading screen after click on url in webview using Flutter?

当我使用 flutter 在 webview 中点击网页时,我试图显示加载屏幕。启动画面后显示加载画面。但是在 webview 中点击 link 后没有显示。

class _HomeState extends State<Home> {
  bool isLoading;
  @override
  void initState() {
    isLoading = true;

  }
  @override
  Widget build(BuildContext context) {

    return Scaffold(
      body:Stack(
        children: <Widget>[
      new WebView(
        initialUrl:"https://abcdef.com/",
        javascriptMode:JavascriptMode.unrestricted,
        onPageFinished: (_) {
          setState(() {
            isLoading = false;
          });
        },
      ),
      isLoading ? Center( child: CircularProgressIndicator()) : Container(),
      ],
      ),
    );
  }
}

onPageStarted 回调添加到您的 Webview,然后将 isLoading 设置为 true

像这样

Webview(
   initialUrl:"https://abcdef.com/",
   javascriptMode:JavascriptMode.unrestricted,
   onPageStarted: (_){
     setState(() => isLoading = true);
   },
   onPageFinished: (_) {
     setState(() {
        isLoading = false;
     });
   },
}