2010-09-26 4 views
30

Comment pouvez-vous changer manuellement la taille de la police d'un webview? par exemple. Lorsque la page se charge dans le webview, la taille de la police est de 24pt. et beaucoup trop grand pour l'écran de mon androïde. J'ai regardé dans les "websettings" mais il semble que les deux ne sont pas liés.Comment changer le FontSize dans un WebView Android?

Merci

Répondre

92

J'ai finalement trouvé: -

WebSettings webSettings = webView.getSettings(); 

soit setTextSize ou

webSettings.setTextSize(WebSettings.TextSize.SMALLEST); 

Celui-ci fonctionne aussi: -

webSettings.setDefaultFontSize(10); 
+0

Merci - a travaillé pour moi. –

+0

cela fonctionnera-t-il même si j'ai spécifié la taille de la police du texte dans le html vers lequel le webview pointe ???? – Zeba

+8

webSettings.setTextSize (WebSettings.TextSize.SMALLEST) est obsolète – Tobrun

7

J'utilise le Javascript pour le faire ce genre de choses parce que cela fonctionne pratiquement toujours. Même s'il y a des fichiers CSS utilisés dans votre code HTML

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

biensur vous avez besoin de modifier les tailles et les couleurs à celles dont vous avez besoin

+1

Cela n'a aucun sens d'utiliser 'pt' dans le site Web. Et cette réponse a raté 'mWebView.' avant' loadUrl() '. En outre, le chargement de cette ligne ne changera rien à la taille de la police, mais affichera la taille de la police à l'écran ... – Raptor

13

C'est ce que je l'utilise quand je veux permettre à l'utilisateur de changement la taille du texte/zoom dans 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); 
} 

sur Actionbar cliquez article, je l'appelle soit textSmaller() ou textBigger() changer la taille du texte.

22

Il semble que de nos jours ainsi préféré, ce ne sont pas amortis est de modifier le zoom texte, comme ceci:

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