Android WebView在底部添加了奇怪的空白空间
Android WebView adding strange empty space at the bottom
我正在尝试使用JavaScript
为加载的WebView
添加更多空白空间。
我使用loadDataWithBaseUrl()
从String
资源加载数据。然后,在测量了一些内容之后,我需要将WebView
放大,比如说100像素。所以我调用javascript函数使用loadDataWithBaseUrl()
:
mWebView.loadUrl("javascript:addHeight()");
Javascript
函数在原HTML中定义:
function addHeight() { " +
var elemDiv = document.createElement('div');
elemDiv.style.cssText = 'height:100px;';
document.body.appendChild(elemDiv);
}
之后,WebView
调整自己的大小以适应新的内容。然而,结果高度不是originalSize + 100px,而是更大。我不知道问题出在哪里。我不能确定目标大小,因为它取决于附加的div
的大小,它总是不同的。
有人试过吗?你熟悉这种行为吗?
我找到了下一个解决方案。这里使用了JS回调。我希望这对你有所帮助。
private void setupWebView() {
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
super.onPageFinished(view, url);
}
});
webView.addJavascriptInterface(this, "MyApp");
}
@JavascriptInterface
public void resize(final float height) {
MyActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
webView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density)));
}
});
}
见本列表第4段。好运!
相关文章:
- IE 9压缩XML DOM中的空白空间
- 同位素网格布局使用空白空间
- 动态隐藏列表中的元素,而隐藏的元素不会占用页面上的空白空间
- 如何设置iframe以自动填充HTML中的空白正文空间
- 提交回复后 Ajax 它显示一个空白的数据空间
- 电子邮件的正则表达式允许空白空间、有效电子邮件地址和多个电子邮件地址
- HTML中的哪些空白空间被视为空白节点
- 不允许使用Javascript验证的空白空间
- 使用jquery或javascript显示null cookie值为空白空间
- 在网格上寻找空白空间的算法
- 图表师:堆叠条形图后的空白空间
- Android WebView在底部添加了奇怪的空白空间
- Regexp去除等式中的空白空间
- Bootstrap砌体留下空白空间
- 如何检测文本框字段的空白空间
- html中的UL LI标签创建空白空间
- 为布局中的元素添加内边距'在顶部添加空白空间
- 设置自动高度,取决于文本区域中有多少列,但显然它增加了空白空间
- 当点击图像周围的空白空间时,Javascript幻灯片显示故障
- 需要找到更有效的解决方案,将空白空间写入页面