先说下背景, 项目里有个升级会员页面, 页面中要有一个展示会员权益的地方, 数据是后台接口返回来的一串 H5 的字符串. app 这边做的就是先获取到 H5 的字符串后用 webview 展示出来. 当然这个页面上还有其他的控件, 考虑到要适配的问题, 所以用了 ScrollView 把 webview 以及其他的控件给套了起来, 然后有了下面的这个问题.

在加载 H5 字符串时 WebView 显示的高度为 0, 除非写死高度, 不然显示不出来.
之后各种百度谷歌搜索嵌套后产生的这个问题. 尝试了各种解决方案. 无果!

后来与后台人员沟通, 推测可能是返回的 H5 字符串中的属性问题, 在那串 H5 中高度没有设置, 本来不设置的话默认的应该为 100% , 但是没有作用, 那么我就让后台人员强制写死了高度. 也就是下面这串 style="height: 465px;" 然后就解决了这个问题.

<!DOCTYPE html>
<html style="height: 465px;"><head>
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta http-equiv="Cache-Control" content="no-siteapp">
<meta name="format-detection" content="telephone=no">
<title>赤狐CRM</title>
<meta name="keywords" content="赤狐CRM">
<meta name="description" content="赤狐CRM">
<link rel="stylesheet" href="https://foxsaaswebsitestyle.blob.core.chinacloudapi.cn/resources/tools/plug/swiper/3.4.1/swiper.css">
</head>
<body>
 ...
</body></html>