背景色を変更する方法はありますが、フォントを変更する方法はありません。
何か案は?
私は上手く理解できていない気がします。 WebViewは、指定されたHTMLを表示するだけなので、通常のHTML/CSSを使用して、表示されるコンテンツを変更します。
何かのようなもの
String text = "<html><head>"
+ "<style type=\"text/css\">body{color: #fff; background-color: #000;}"
+ "</style></head>"
+ "<body>"
+ your_string_text_here
+ "</body></html>";
webview1.loadData(text, "text/html", "utf-8");
OnPageFinishedメソッドに入れる必要がありました。
_webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
_webView.loadUrl(
"javascript:document.body.style.setProperty(\"color\", \"white\");"
);
}
});
これは私のために働いた
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.loadUrl(
"javascript:document.body.style.setProperty(\"color\", \"white\");"
);
}
});
これは私が見つけた最も簡単な方法です(たとえば、テキストの色を白に変更します)。
webview.loadUrl("javascript:document.body.style.color=\"white\";");
バッファがSPANNABLEの場合、HTMLを直接変更することが理想的なソリューションです。フォント、色、書体、スタイルはすべてHTMLを介して影響を受ける可能性があります。
String szMessage = "<font face='trebuchet' size=30><a href=zz><b>click me</b></a></font>";
TextView tv = (TextView)findViewById(R.id.tv_message);
tv.setText(Html.fromHtml(szMessage), BufferType.SPANNABLE);
@rafraphの答えは私にはうまくいきませんでした。私は使用しなければなりませんでした
webView.loadUrl("javascript:document.body.style.setProperty(\"color\", \"white\");");
回答を1つの本文タグHTMLとCSSスタイルの16進色で連結できます。これは、JSON応答を使用した例です。
最初:JSONをHTML形式にデコードする関数
public String stripHtml(String html) {
return Html.fromHtml(html).toString();
}
2番目:WebViewにデータをロードします(URLなし)
String string_html;
string_html = "<body style="color:#535362;">" + youStringHTML + "</body>";
webView.loadDataWithBaseURL(null, stripHtml(string_html), "text/html", "utf-8", null);