1

我正在使用webview_flutter

无论如何我可以在应用程序启动时预加载一个 webview 小部件,并在应用程序中多次重复使用同一个小部件?

  WebView webview = buildWebview();

  Widget getWebview() {
    return webview;
  }

  Widget buildWebview() {
    return WebView(
      key: GlobalKey(),
      onWebViewCreated: (WebViewController webViewController) {
          print("WebView is Created");
      },
      ...
    );
  }

这是我尝试过的,但似乎 WebView 是在屏幕上显示小部件时创建的,而不是在应用程序启动时创建的。当我再次调用 getWebview() 时,会再次创建 WebView。

4

2 回答 2

-1

如果您想在启动时预加载所有页面,那么您可以indexed stack在声明您的类中使用TabBar

总结正文并调用所有相应的页面,如下所述:

Widget build(BuildContext context) {
   return
    Scaffold(
      body:IndexedStack(
               index: _selectedIndex, children: _children,
             ),),}
于 2020-10-18T06:33:34.123 回答
-2

很好的发起和想法。

你实际上可以这样做

在 main.dart 文件中调用这个类。这将使应用程序在每次启动应用程序时使用您首选的 web 视图启动应用程序。

为了重用这个类,一次又一次地创建另一个类并加载这个 webview。然后在需要时调用或导入并使用此类

于 2020-10-18T06:27:31.747 回答