Comment pouvez-vous changer manuellement la taille de la police d'une vue Web? par exemple. Lorsque la page se charge dans la vue Web, la taille de la police est de 24 pt. et beaucoup trop grand pour l'écran de mon Android. J'ai examiné les "paramètres Web", mais il semble que les deux ne sont pas liés.
Merci
Je l'ai finalement trouvé: -
WebSettings webSettings = webView.getSettings();
setTextSize
ou
webSettings.setTextSize(WebSettings.TextSize.SMALLEST);
Celui-ci fonctionne aussi: -
webSettings.setDefaultFontSize(10);
Il semble que, de nos jours, la méthode préférée, c'est-à-dire non amortie, consiste à modifier le zoom du texte, comme ceci:
WebSettings settings = mWebView.getSettings();
settings.setTextZoom(90); // where 90 is 90%; default value is ... 100
C’est ce que j’utilise lorsque je veux permettre à l’utilisateur de changer 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
Item click, j'appelle soit textSmaller()
ou textBigger()
pour modifier la taille du texte.
J'utilise Javascript pour faire ce genre de choses parce que cela fonctionne pratiquement toujours. Même si des fichiers CSS sont utilisés dans votre code HTML
mWebView.loadUrl("javascript:(document.body.style.backgroundColor ='red');");
mWebView.loadUrl("javascript:(document.body.style.color ='yellow');");
mWebView.loadUrl("javascript:(document.body.style.fontSize ='20pt');");
bien sûr, vous devez modifier les tailles et les couleurs pour celles dont vous avez besoin
Si vous souhaitez augmenter ou réduire la taille de la police de WebView de manière dynamique, utilisez ces lignes de code:
WebView mWebView;
int fontSize;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.webview);
mWebView.loadUrl("file:///Android_asset/sample.html");
// enable / disable javascript
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(true);
fontSize = mWebView.getSettings().getDefaultFontSize();
}
private void fontSizePlus() {
fontSize++;
this.changeFontSize(fontSize);
}
private void fontSizeMinus() {
fontSize--;
this.changeFontSize(fontSize);
}
private void changeFontSize(int value) {
mWebView.getSettings().setDefaultFontSize(value);
}
public void Inc(View view) {
fontSizePlus();
}
public void Dec(View view) {
fontSizeMinus();
}