如何使用官方的webview_flutter插件在flutter中预加载Webview?

问题描述 投票:2回答:1

我正在快速开发应用程序,试图在Webview中预加载页面时遇到问题。基本上,该应用程序使用选项卡栏,其中有一些选项卡包含正常的列表视图内容,还有2个选项卡应具有webview内容。任何想法都知道如何在应用程序加载时预加载Web视图,并使它们在后台保持活动状态,因此,当用户在选项卡之间滑动并进入Web视图时,网站已经加载并呈现,因此UX是无缝的。我尝试创建WebView实例,并在应用程序加载时使用setstate将其分配给变量,但无济于事。

任何帮助将不胜感激。

flutter webview flutter-layout
1个回答
0
投票

所以您可以尝试做的是这个:

here所示的PageView封装您正在TabBar中调用的小部件。

您还可以通过使用AutomaticKeepAliveClientMixin扩展有状态的小部件来确保WebView在加载一次后仍保持活动状态。使用此方法时,请确保您声明:

 bool get wantKeepAlive => true;

编辑:为了在应用启动时预加载所有页面,可以在声明TabBar的类中使用Indexed Stack。包裹身体,像这样调用所有页面:

  Widget build(BuildContext context) {
    return
     Scaffold(
      body:IndexedStack(
              index: _selectedIndex,
              children: _children,
            ),),}
© www.soinside.com 2019 - 2024. All rights reserved.