我正在开发一个Android应用程序,我正在WebView中加载一个谷歌地图iframe,就像这样:
它在Android模拟器中正确显示,但是当我在真实设备中尝试时,屏幕底部会出现相当大的空白区域,因此您无法看到整个iframe。我试过两个手机,一个用android 2.2,另一个用android 2.3
我看过这个听起来一样的东西:
Problem with extra space at the bottom of android Webview
但它对我不起作用。还尝试了一些我读过的其他内容:
webView.getSettings().setUseWideViewPort(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl(url);
return false;
}
});
但没有任何效果。任何的想法?
提前致谢。
答案 0 :(得分:2)
我可以看到< body>您发布的链接元素的底部边距为14px - 也许就是这样?加载页面后,您可以在WebView中使用JavaScript代码段消除它,如下所示:
myWebView.loadUrl("javascript:document.getElementsByTagName('body')[0].style.marginBottom = '0px'");
另外,右边有一个44px的边距,如果你想摆脱那个,也应该是这样的:
myWebView.loadUrl("javascript:document.getElementsByTagName('body')[0].style.marginBottom = '0px';document.getElementsByTagName('body')[0].style.marginRight = '0px';");
此外,为了防范您的应用,您可能需要将所有四个边距设置为0,以防万一。
答案 1 :(得分:0)
将下边距和右边距设置为0:
webView.loadUrl("javascript:document.body.style.marginBottom=document.body.style.marginBottom= '0px'");
答案 2 :(得分:0)
这可能是您XML
的问题。
您能否检查WebView
是否在ScrollView
内或其内置滚动内容的任何内容。它可能会产生额外的空白区域。
答案 3 :(得分:0)
其他答案对我没有用,但确实如此:
webView.loadUrl("javascript:(function () {document.getElementsByTagName('body')[0].style.marginBottom = '0'})()");