在flutter中,当使用Webview时,您有时希望显示其上下的内容。
问题-1-Webview需要约束,否则无法显示:您需要将Webview Package 在一个固定大小的容器下或一个可扩展的列下。
问题2?高度很容易获取,但有时Webview会加载异步数据,如嵌入脚本,这将改变页面的样式。在这种情况下,很难知道如何以及何时获取Webview高度。
有了这些问题,大多数时候你的网页视图会显示一个滚动条,当到达网页视图的底部时,用户将很难滚动你的Flutter页面。滚动将与网页视图冲突。
解决这个问题的最佳方法是什么?
3条答案
按热度按时间d8tt03nd1#
您将需要在html周围添加一个额外的并使用javascript事件处理程序。
而不是将原始html传递给webview,我们将对其进行一些自定义。
如何使用Webview与:
说明:
当div内容改变时,会发送一个新大小的事件。flutter InAppWebView会监听它并调用回调。我们只需用当前视图高度更新WebView的父容器。仅此而已,WebView在flutter中显示得像一个小部件,没有任何大小问题。
jdzmm42g2#
u7up0aaq3#
2022年12月更新!!
在此基础上,我创建了一个小部件,您可以将其放置在列表视图或任何可滚动区域中。它可以自动检测高度并自行设置
如果需要,可以删除
AutomaticKeepAliveClientMixin
。