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

文字没法两端对齐。

2.图片不居中显示。

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

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

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

下面是人家的代码。

viewWebVeiw.loadData(html,"text/html; charset=UTF-8",null);

下面就是 我们如何引用 css属性,修改html代码里边的值解决我们上面的问题了。

String linkCss="

"\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\n";

上面的字符串 我们用的时候 要添加早我们要展示的html代码中去。 这样:

String html = "" + linkCss + ""+"

" + content + "";

其中 content 是我们后台返回的html代码 "text-align:justify; 实现文字两端对齐。

linkCss 中的 之的设定 !important 代表强制引用。其实我不大懂 html 这段代码是朋友帮我写的。但是真的解决了我的问题。 图片需要宽度100% 高度自适应,并且 !important; 这句话绝对不能少,否则不管用。

最后 webview 展示的时候 这样 viewWebVeiw.loadData(html, "text/html; charset=UTF-8", null);完美解决。linkcss里边的 属性值 大家可以根据需求 自己改的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐