2012-10-01 14 views
6

mi piacerebbe impostare la dimensione del carattere che sto utilizzando in un WebView per una specifica dimensione del pixel. Sto facendo qualcosa sulla falsariga didimensione del carattere WebView Android in pixel

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

Tuttavia, la dimensione del carattere è diversa su dispositivi diversi. Qualche idea su come fare questo lavoro?

Grazie!

+0

perché diversi dispositivi hanno pixel di dimensioni diverse ... Se si desidera effettivamente impostarlo su pixel, è necessario aspettarsi che s variazione su dispositivi. Hai una ragione specifica per voler usare i pixel? – FoamyGuy

+1

scusa, forse avrei dovuto approfondire questo. utilizzo i pixel, ma ridimensiono i pixel in modo che corrispondano al dpi del dispositivo. il mio cliente ha un design a pixel fissi che scalare alla dimensione massima possibile (con bordi in alto a sinistra o a sinistra). tutto funziona perfettamente tranne che per la webview. –

risposta

6

La soluzione che ho trovato è stato di aggiungere il seguente meta tag al codice HTML

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

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

+0

grazie per averci informato. dovrei guardare in un modo alternativo allora. –

+0

ha funzionato bene per me come commentato nel link sottostante. – Juanin

2

È possibile utilizzare il WebView per ottenere un oggetto impostazioni e setDefaultFontSize(int size) metodo per impostare la dimensione del font di default.

ad esempio:

myWebView.getSettings().setDefaultFontSize(20); 

In alternativa, è possibile utilizzare setInitialScale(int percentage) metodo sul vostro visualizzazione Web per impostare la percentuale di zoom è necessario, si può provare con diverse percentuali e vedere quale ti piace.

ad esempio:

myWebView.setInitialScale(85); 

È inoltre possibile utilizzare il WebView per farlo è oggetto impostazioni e quindi utilizzare setBuiltInZoomControls(boolean value) metodo per consentire/non consentire all'utente di utilizzare i controlli di default dello zoom in modo che possano diminuire in base alle loro preferenze .

ad esempio:

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

Niente di tutto ciò stava lavorando per me, ho bisogno di fare questo, invece:

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