android webview加载html代码
阅读原文时间:2021年04月18日阅读:1

商城项目里,商品详情是后台给的html代码,需要加载到页面上

//在内置浏览器打开页面
mWebView.setWebViewClient(new WebViewClient() {
     @Override
     public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
     }
 });

String detailHtml = data.getDetailHtml();

mWebView.loadData(detailHtml, "text/html", "UTF-8");

直接这样使用的话,图片大小不能完美的适应屏幕,后台并没有给图片添加宽度为100%

需要我们自己添加上这个属性,需要这句话

String varjs = "<script type='text/javascript'> \nwindow.onload = function()\n{var $img = document.getElementsByTagName('img');for(var p in  $img){$img[p].style.width = '100%'; $img[p].style.height ='auto'}}</script>";

整体使用为

String detailHtml = data.getDetailHtml();

//图片宽度改为100%  高度为自适应
String varjs = "<script type='text/javascript'> \nwindow.onload = function()\n{var $img = document.getElementsByTagName('img');for(var p in  $img){$img[p].style.width = '100%'; $img[p].style.height ='auto'}}</script>";

mWebView.loadData(varjs + detailHtml, "text/html", "UTF-8");