如何预载抖动的Webview小部件

时间:2020-10-18 06:23:15

标签: flutter webview webview-flutter

我正在使用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。

2 个答案:

答案 0 :(得分:0)

好主意和想法。

您实际上可以做到

在main.dart文件中调用此类。这将使该应用在每次启动时都以您首选的网络视图启动该应用。

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

答案 1 :(得分:0)

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

包裹尸体,并如下所述调用所有相应页面:

Widget build(BuildContext context) {
   return
    Scaffold(
      body:IndexedStack(
               index: _selectedIndex, children: _children,
             ),),}