webview 边距,Android中WebView底部的空白

I'm developing an Android application and I'm loading one google maps iframe in a WebView, just like this one:

It is showing correctly in Android emulator, but when I try in a real device a white space quite big appears at the bottom of the screen, so you can't see the whole iframe. I tried with two mobiles, one with android 2.2 and another one with android 2.3

I had a look to this one which sounds the same thing:

but it didn't work for me. Also tried some other things I read about like:

webView.getSettings().setUseWideViewPort(true);

webView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading (WebView view, String url) {

view.loadUrl(url);

return false;

}

});

but nothing worked. Any idea?

Thanks in advance.

解决方案

I can see the

element at the link you posted has bottom margin of 14px - maybe that's it? You can eliminate it using a JavaScript snippet in your WebView after you have loaded the page, like this:

myWebView.loadUrl("javascript:document.getElementsByTagName('body')[0].style.marginBottom = '0px'");

also, there is a 44px margin on the right, if you wanna get rid of that one also, should be something like this:

myWebView.loadUrl("javascript:document.getElementsByTagName('body')[0].style.marginBottom = '0px';document.getElementsByTagName('body')[0].style.marginRight = '0px';");

Also, to future-proof your app, you may want to set all four margins to 0, just in case.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值