这里是通过webview加载html(简单处理)

文章讲述了在Android开发中,使用Webview加载HTML时遇到图片宽度问题的两种解决方案:一是针对不同版本SDK使用`Html.fromHtml`进行转义并设置宽度,二是利用Jsoup库解析HTML并动态修改`img`标签的宽度属性。
摘要由CSDN通过智能技术生成

有2种情况:
第一种就是 返回的是html 直接可以使用的
第二种就是 返回的字符串 不是 html 因为需要先转译成 html

问题图片宽度问题

第一种 代码片.

Webview.loadDataWithBaseURL(null, strhtml, "text/html", "UTF-8", "")

第二种 代码片.

//方法一先转译成 html
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
       strhtml= Html.fromHtml(strUrl, Html.FROM_HTML_MODE_LEGACY).toString()
   } else {
       strhtml= Html.fromHtml(strUrl).toString()
   }
   //图片宽度问题
  strhtml=strhtml.replace("<img", "<img height=\"auto\"; width=\"100%\"")

第二种 代码片.

 //需要先引入Jsoup 
 implementation 'org.jsoup:jsoup:1.16.1'
  //方法二先转译成 html
  strhtml= Jsoup.parse(strhtml).text()
  //处理图片宽度问题
   val parse = Jsoup.parse(strhtml)
   val elementsByTag = parse.getElementsByTag("img")
      if(elementsByTag.size>0){
          elementsByTag.forEach {
          //可以通过style
             it.attr("style", "height:auto;width:100%")
             //可以通过 直接设置 宽高
//                it.attr("width", "100%")
//                it.attr("height","auto")
           }
       }
  strhtml=parse.toString()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值