Cambiar el color del texto en una vista web?
Pregunta
Hay un método para alterar el color de fondo pero no la fuente.
¿Alguna idea?
Solución
No estoy seguro de entender. La vista web sólo muestra el código HTML que le dan por lo que sólo se utilizaría normal de HTML / CSS para modificar el contenido que se muestra en su interior.
Otros consejos
algo así como
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");
tuve que ponerlo en el método onPageFinished.
_webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
_webView.loadUrl(
"javascript:document.body.style.setProperty(\"color\", \"white\");"
);
}
});
Esta es la manera más fácil que encontré (cambiar el color del texto a blanco, por ejemplo):
webview.loadUrl("javascript:document.body.style.color=\"white\";");
Esto funcionó para mí
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.loadUrl(
"javascript:document.body.style.setProperty(\"color\", \"white\");"
);
}
});
Cuando el tampón es SPANNABLE, modificando el HTML directamente es una solución ideal. El tipo de letra, color, tipo de letra, el estilo puede verse afectados a través de 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);
@ respuesta de rafraph no funcionó para mí. Tuve que usar
webView.loadUrl("javascript:document.body.style.setProperty(\"color\", \"white\");");
Puede concatenar su respuesta un cuerpo etiqueta HTML con el estilo CSS de color hexadecimal, este es un ejemplo usando una respuesta JSON
En primer lugar: la función de decodificación JSON a formato HTML
public String stripHtml(String html) {
return Html.fromHtml(html).toString();
}
En segundo lugar: Cargar datos en WebView (sin url)
String string_html;
string_html = "<body style="color:#535362;">" + youStringHTML + "</body>";
webView.loadDataWithBaseURL(null, stripHtml(string_html), "text/html", "utf-8", null);