Android webView加载,图片宽度超出屏幕宽度

项目中遇到webView加载的新闻详情图片宽度超过屏幕,为保持美观,前端需要自行处理。通过创建assets文件夹,新建news.html并在其中设置div样式为width:100%,然后使用JS将新闻内容注入到div中。然而,这种方法无效,实际仍需使用外部引入或直接引用解决图片宽度问题。最后在Activity中调用相应方法,完成调整。记得删除应用并重新安装以使更改生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中遇到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:听说听这首歌可以有好运。。。我信了。

每日语录:

明白每个人生来不同,经历不同,不评价不批判别人的三观,不强把自己的价值观加在别人身上,也许你唾弃的,正是别人追求的,你厌倦的,正是别人渴望的。学会看得惯的同事保持本心   加油!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值