Wie können Sie die Schriftgröße einer Webansicht manuell ändern? z.B. Wenn die Seite in der Webansicht geladen wird, hat die Schriftgröße 24pt. und viel zu groß für den Bildschirm meines Android. Ich habe mir die "Websettings" angesehen, aber es scheint, dass die beiden nicht miteinander zusammenhängen.
Vielen Dank
Ich habe es endlich gefunden: -
WebSettings webSettings = webView.getSettings();
entweder setTextSize
oder
webSettings.setTextSize(WebSettings.TextSize.SMALLEST);
Das funktioniert auch: -
webSettings.setDefaultFontSize(10);
Es scheint, dass heutzutage der bevorzugte Weg, dh nicht abgeschrieben, darin besteht, den Textzoom wie folgt zu ändern:
WebSettings settings = mWebView.getSettings();
settings.setTextZoom(90); // where 90 is 90%; default value is ... 100
Dies ist, was ich verwende, wenn ich dem Benutzer ermöglichen möchte, die Textgröße/zoom in einer WebView
zu ändern:
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);
}
Beim Actionbar
Item-Klick rufe ich entweder textSmaller()
oder textBigger()
auf, um die Textgröße zu ändern.
Ich verwende Javascript, um solche Dinge zu tun, weil es praktisch immer funktioniert. Auch wenn in Ihrem HTML-Code CSS-Dateien verwendet werden
mWebView.loadUrl("javascript:(document.body.style.backgroundColor ='red');");
mWebView.loadUrl("javascript:(document.body.style.color ='yellow');");
mWebView.loadUrl("javascript:(document.body.style.fontSize ='20pt');");
natürlich müssen Sie die Größen und Farben Ihren Wünschen anpassen
Wenn Sie die Schriftgröße von WebView dynamisch erhöhen oder verringern möchten, verwenden Sie diese Codezeilen:
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();
}