2010-09-26 14 views
30

¿Cómo se puede cambiar manualmente el tamaño de fuente de una vista web? p.ej. Cuando la página se carga en la vista web, el tamaño de la fuente es como 24pt. y demasiado grande para la pantalla de mi android. He investigado los "ajustes en la web", pero parece que los dos no están relacionados.¿Cómo cambiar FontSize en Android WebView?

Gracias

Respuesta

92

que finalmente encontraron que: -

WebSettings webSettings = webView.getSettings(); 

ya sea setTextSize o

webSettings.setTextSize(WebSettings.TextSize.SMALLEST); 

Ésta también funciona: -

webSettings.setDefaultFontSize(10); 
+0

Gracias - trabajó para mí. –

+0

¿funcionará esto incluso si he especificado el tamaño de fuente del texto en el html al que apunta la vista web? – Zeba

+8

webSettings.setTextSize (WebSettings.TextSize.SMALLEST) está en desuso – Tobrun

7

que usar JavaScript para hacer este tipo de cosas porque prácticamente siempre funciona. Incluso si hay archivos CSS utilizadas en el código HTML

loadUrl("javascript:(document.body.style.backgroundColor ='red');"); 
loadUrl("javascript:(document.body.style.color ='yellow');"); 
loadUrl("javascript:(document.body.style.fontSize ='20pt');"); 

offcourse necesita modificar los tamaños y colores a los que necesita

+1

No tiene sentido utilizar 'pt' en el sitio web. Y esta respuesta se perdió 'mWebView' antes de' loadUrl() '. Además, cargar esta línea no cambiará el tamaño de la fuente en absoluto, pero mostrando el tamaño de la fuente en la pantalla ... – Raptor

13

Esto es lo que uso cuando quiero que el usuario pueda cambio el tamaño del texto/zoom en un WebView:

private WebView mWebView; 

// init web view and stuff like that ... 


private void textSmaller() { 

    WebSettings settings = mWebView.getSettings(); 
    settings.setTextZoom(settings.getTextZoom() - 10); 
} 

private void textBigger() { 

    WebSettings settings = mWebView.getSettings(); 
    settings.setTextZoom(settings.getTextZoom() + 10); 
} 

en Actionbar artículo clic, ya sea que llame o textSmaller()textBigger() para cambiar el tamaño del texto.

22

Parece que hoy en día preferimos manera, es decir, no depreciado es cambiar el zoom de texto, así:

WebSettings settings = mWebView.getSettings(); 
settings.setTextZoom(90); // where 90 is 90%; default value is ... 100