WebView がリッチ テキストを読み込むと、ページの右側に空白が表示されます

問題の説明

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)

おすすめ

転載: blog.csdn.net/Jackson_Wen/article/details/120720753