问题描述
我们都知道,WebView加载数据的方式有两种:
webView.loadUrl(data);//加载url
webView.loadDataWithBaseURL(null,data, "text/html" , "utf-8", null);//加载html数据
加载富文本数据所以选择第二种方式:loadDataWithBaseURL。
开发过程中发现2个问题:
1,在很多安卓手机上你会发现文本内容宽度只显示屏幕宽度的一半或60%左右,页面右边是空白的,这样就很难看了,我们期望结果是富文本内容能自适应屏幕宽度,展示100%宽度。
2,手机上字体大小显示与后台配置的富文本大小显示不一致。
解决办法:
private String formatHtmlData(String bodyHTML) {
String head = "<head>"
+ "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> "
+ "<style>img{max-width: 100%; width:100%; height:auto;}*{margin:0px;}</style>"
+ "</head>";
return "<html>" + head + "<body>" + bodyHTML + "</body></html>";
}
webView.loadDataWithBaseURL(null,formatHtmlData(data), "text/html" , "utf-8", null)