项目中遇到webView加载新闻详情的时候,发现图片的宽度超过了屏幕宽度,导致效果很不美观。询问后台开发人员,得知。这些新闻是从网站爬下来的。很多样式都已经去掉了。故图片没有限制宽度。后台开发人员问我们是否可以自己处理下。后台不方便出来。于是。我就修改了前台的新闻模板。
1;在项目下新建assets文件夹
2:在此文件夹下新建news.html,此网页是个空白的页面。里面只有一个div。然后。给此div。设置样式:style:width=100%;
<div id="contentstr" style="margin: 5px; width:100%">
</div>
2018-04-03:更新。嗯。我错了。这种方式是错的。并不能解决图片宽度超出屏幕的问题,还是得用
#contentstr img{
max-width: 100%;
}
这种方式。给最外层的div设置宽度并不能解决问题。还是得精确到div下面img标签。把宽度设置给img标签就可以了。别忘了把这个css加载进去:可以
<link rel="stylesheet" href="newsWhite.css">
外部引入或者是直接引用
<style type="text/css">
#contentstr img{
max-width: 100%;
}
</style>
3:然后把拿到的新闻内容也就是div片段,用js的方式注入进来。即可。
<script type="text/javascript">
function tianchongcontentstr(str){
document.getElementById("contentstr").innerHTML = str;
}
</script>
4:然后在activity。里面调用此方法即可
mWebView
.loadUrl("javascript:tianchongcontentstr('"
+ data.getContent() + "')");
别忘了
webSettings.setJavaScriptEnabled(true);//webview设置支持Javascript
。至此图片宽度超出屏幕宽度的问题就解决了。当然如果只有图片超出屏幕宽度,你也可以把width:100%写在css里面去。即
#contentstr img{
max-width: 100%;
}
哦,修改完模板,别忘了删除app。重新安装,不然可能没有及时起作用。我第一次就是直接运行安装,发现图片还是超出去了,后来就是删除了以后,重新安装就好了。
单曲循环《好运来》Ps:听说听这首歌可以有好运。。。我信了。
每日语录:
明白每个人生来不同,经历不同,不评价不批判别人的三观,不强把自己的价值观加在别人身上,也许你唾弃的,正是别人追求的,你厌倦的,正是别人渴望的。学会看得惯的同事保持本心 加油!!!