41

如何手动更改 webview 的字体大小?例如,当页面在 webview 中加载时,字体大小为 24pt。而且对于我的安卓屏幕来说太大了。我已经查看了“websettings”,但似乎两者没有关系。

谢谢

4

5 回答 5

105

我终于找到了:-

WebSettings webSettings = webView.getSettings();

要么setTextSize_

webSettings.setTextSize(WebSettings.TextSize.SMALLEST);

这个也可以:-

webSettings.setDefaultFontSize(10);
于 2010-09-26T01:18:48.533 回答
38

似乎现在更喜欢的方式,即不折旧是改变文本缩放,像这样:

WebSettings settings = mWebView.getSettings();
settings.setTextZoom(90); // where 90 is 90%; default value is ... 100
于 2014-07-02T11:58:35.670 回答
19

当我想让用户更改文本大小/放大时,这就是我使用的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);
}

Actionbar单击项目时,我调用textSmaller()textBigger()更改文本大小。

于 2014-03-19T11:32:56.030 回答
7

我使用 Javascript 来做这些事情,因为它实际上总是有效的。即使您的 HTML 中使用了 CSS 文件

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

当然,您需要将尺寸和颜色更改为您需要的

于 2012-09-17T14:30:25.147 回答
1

如果您想动态增加或减少 WebView 的字体大小而不是使用这些代码行:

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();
}
于 2018-12-07T11:22:59.507 回答