解决方法是:
等待 html 页面加载并在页面内运行 JS 来检测内容高度并将其设置为 WebView 布局参数高度。
在页面内运行 JS 很容易,只需导航到 url 即可
javascript:Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight);
要将结果传递给 Java 代码,您必须提供 Java-Java Script 接口,如此处所述https://developer.android.com/guide/webapps/webview.html https://developer.android.com/guide/webapps/webview.html(将JavaScript代码绑定到Android代码)
您的导航网址必须类似于
javascript:myfunc(Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight));
myfunc 将被调用,您将获得页面的高度。现在只需将高度设置为 WebView 高度即可。