最近做項目有一個詳情頁,返回的是html代碼。注意不是html鏈接。里邊圖文混排。用textview 顯示,發現以下問題。
- 文字沒法兩端對齊。
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里邊的 屬性值 大家可以根據需求 自己改的。