美文网首页移动开发我爱编程
安卓开发webview引用 html css属性不起作用的解决办

安卓开发webview引用 html css属性不起作用的解决办

作者: 老年追梦人 | 来源:发表于2017-08-19 12:29 被阅读29次

最近做项目有一个详情页,返回的是html代码。注意不是html链接。里边图文混排。用textview 显示,发现以下问题。

  1. 文字没法两端对齐。

2.图片不居中显示。

3.原html里边字体的大小分好几种,textview显示出来特丑。但是设置textview 的字体大小。其实不没有卵用。

4。图片和文字上下贴的很紧。

最后没办法,用webview来展示吧。其实webview展示还是有个坑。直接丢进去会是乱码。乱码的解决方案网上有。

下面是人家的代码。

viewWebVeiw.loadData(html,"text/html; charset=UTF-8",null);
下面就是 我们如何引用 css属性,修改html代码里边的值解决我们上面的问题了。

String linkCss="<style type=text/css>" +
"\t\tbody img{width:100%!important;height: auto!important;padding-top: 50px!important;padding-bottom: 50px!important;}\n\n" +
"\t\tbody {font-size:25!important;}\n" +
"\t\tbody span{font-size: 25!important;}\n" +
"\t\tbody p{font-size: 25!important;}\t\t\t\t\n" +
"\t\t</style>\n";
上面的字符串 我们用的时候 要添加早我们要展示的html代码中去。 这样:
String html = "<html><header>" + linkCss + "</header>"+"<body style=\"text-align:justify;margin:0;\">" + content + "</body></html>";
其中 content 是我们后台返回的html代码 "text-align:justify; 实现文字两端对齐。
linkCss 中的 之的设定 !important 代表强制引用。其实我不大懂 html 这段代码是朋友帮我写的。但是真的解决了我的问题。 图片需要宽度100% 高度自适应,并且 !important; 这句话绝对不能少,否则不管用。
最后 webview 展示的时候 这样 viewWebVeiw.loadData(html, "text/html; charset=UTF-8", null);完美解决。linkcss里边的 属性值 大家可以根据需求 自己改的。

相关文章

网友评论

    本文标题:安卓开发webview引用 html css属性不起作用的解决办

    本文链接:https://www.haomeiwen.com/subject/pprtdxtx.html