android - texto - como cambiar el color de letra en html bloc de notas
¿Cambiar el color del texto en una vista web? (8)
Hay un método para alterar el color de fondo pero no la fuente.
¿Algunas ideas?
Cuando el búfer es SPANNABLE, modificar el HTML directamente es una solución ideal. La fuente, el color, el tipo de letra, el estilo pueden 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);
Esta es la forma más fácil que encontré (por ejemplo, cambie el color del texto a blanco):
webview.loadUrl("javascript:document.body.style.color=/"white/";");
Esto funciono para mi
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.loadUrl(
"javascript:document.body.style.setProperty(/"color/", /"white/");"
);
}
});
La respuesta de @Rafraph no funcionó para mí. Tuve que usar
webView.loadUrl("javascript:document.body.style.setProperty(/"color/", /"white/");");
No estoy seguro de entender. La vista web solo muestra el HTML que le da, así que solo usaría HTML / CSS normal para modificar el contenido que se muestra en el interior.
Puedes concatenar tu respuesta con una etiqueta de cuerpo HTML con un estilo hexadecimal de color CSS, este es un ejemplo usando una respuesta JSON
Primero: función para decodificar JSON a formato HTML
public String stripHtml(String html) {
return Html.fromHtml(html).toString();
}
Segundo: 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);
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/");"
);
}
});
algo 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");