将WebView(webview_flutter)的高度设置为网页的高度

jmo*_*jmo 6 flutter

我希望在同一页面上的 flutter 应用程序中有多个 WebView(来自webview_flutter插件)。我希望加载每个页面,以便容器的高度与网页的高度相同。

这是我到目前为止所拥有的:

ListView(
   children: <Widget>[
      Container(
         height: 500,
         child: WebView(
            initialUrl: urlA,
         ),
      ),
      Container(
         height: 500,
         child: WebView(
            initialUrl: urlB,
         ),
      ),
      Container(
         height: 500,
         child: WebView(
            initialUrl: urlC,
         ),
      ),
   ]       
)
Run Code Online (Sandbox Code Playgroud)

显然,这会加载 3 个 WebView,每个 WebView 的高度为 500。但是,我不想为每个页面定义高度,而是根据实际页面的高度设置 Container 的高度。(即 urlA 的页面高度为 300,urlB 为 250,urlC 为 600,因此每个容器(或其他某个小部件)的高度分别为 300、250 和 600。每个容器恰好适合该高度大小。如果它们在任何时候离开页面,您可以使用 ListView 滚动。)

Oma*_*att 0

目前没有简单的方法来确定 WebView 上显示的页面的高度。如果页面是预先确定的且静态的,则在显示页面时您可能需要考虑设置固定高度值。

解决此问题的方法是使用 Javascript 获取文档高度,如本文所示