【问题标题】:How to show loading screen after click on url in webview using Flutter?使用 Flutter 在 webview 中单击 url 后如何显示加载屏幕?
【发布时间】:2020-12-24 09:27:46
【问题描述】:

当我使用颤振单击 webview 中的网页时,我试图显示加载屏幕。启动屏幕后显示加载屏幕。但是点击webview中的链接后没有显示。

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(),
      ],
      ),
    );
  }
}

【问题讨论】:

    标签: flutter webview


    【解决方案1】:

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

    像这样

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

    【讨论】:

      猜你喜欢
      • 2020-07-17
      • 2017-01-13
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多