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

最近做项目有一个详情页,返回的是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里边的 属性值 大家可以根据需求 自己改的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,751评论 0 17
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,772评论 2 7
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,562评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,863评论 1 92
  • 前几天刷微博时被一套很骚的表白操作萌到了。 一妹子在考试前向自己喜欢的男生问他要衬衫上的第二颗纽扣,男生说没有纽扣...
    冈本露露阅读 8,232评论 0 0