問題の説明
WebView にデータをロードするには 2 つの方法があることは誰もが知っています。
webView.loadUrl(data);//加载url
webView.loadDataWithBaseURL(null,data, "text/html" , "utf-8", null);//加载html数据
リッチ テキスト データをロードするため、2 番目の方法、loadDataWithBaseURL を選択します。
開発プロセス中に 2 つの問題が見つかりました。
1. 多くの Android スマートフォンでは、テキスト コンテンツの幅が画面幅の半分または 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)