2012-10-01 10 views
6

Me gustaría establecer el tamaño de fuente que estoy usando en un WebView a un tamaño de píxel específico. Estoy haciendo algo similar aTamaño de fuente de Android WebView en píxeles

<p style="font-size: 18px">Text</p> 

Sin embargo, el tamaño de la fuente es diferente en diferentes dispositivos. ¿Alguna idea de cómo hacer que esto funcione?

Gracias!

+0

porque diferentes dispositivos tienen píxeles de diferentes tamaños ... Si realmente desea establecerlo en píxeles, debe esperar thi s variación en todos los dispositivos. ¿Tiene una razón específica para querer usar píxeles? – FoamyGuy

+1

lo siento, tal vez debería haber elaborado sobre esto. utilizo píxeles, pero escalo los píxeles para que coincidan con los ppp del dispositivo. mi cliente tiene un diseño de píxel fijo que escalo al máximo tamaño posible (con bordes arriba o abajo a la derecha). todo funciona perfectamente a excepción de la vista web. –

Respuesta

6

La solución que encontré fue la adición de la siguiente etiqueta meta con respecto al HTML

<meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" /> 
+1

Obsoleto http://www.petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/ – Dori

+0

gracias por informarnos. Debería buscar una forma alternativa entonces. –

+0

funcionó bien para mí, como se comenta en el siguiente enlace. – Juanin

2

Puede usar la vista web para obtener un objeto de configuración y el método setDefaultFontSize(int size) para establecer el tamaño de fuente predeterminado.

por ejemplo:

myWebView.getSettings().setDefaultFontSize(20); 

Alternativamente, Puede utilizar setInitialScale(int percentage) método en su vista web para establecer el porcentaje de zoom que necesita, puede probar con diferentes porcentajes y ver cuál le gusta.

por ejemplo:

myWebView.setInitialScale(85); 

También puede utilizar la vista web para conseguir que es objeto de configuración y luego usar setBuiltInZoomControls(boolean value) método para permitir/denegar al usuario utilizar los controles de zoom predeterminado para que puedan hacer un zoom de acuerdo con sus preferencias .

por ejemplo:

myWebView.getSettings().setBuiltInZoomControls(true); 
0

Nada de eso estaba trabajando para mí, yo tenía que hacer esto en su lugar:

WebSettings settings = wv.getSettings(); 
if (Utils.hasIceCreamSandwich()) 
    settings.setTextZoom((int)(settings.getTextZoom() * 1.2)); 
else { 
    settings.setTextSize(WebSettings.TextSize.LARGER); 
} 
Cuestiones relacionadas