如何更改Android WebView中的字体大小?

时间:2010-09-26 00:55:55

标签: android android-webview font-size android-fonts

如何手动更改网页浏览的字体大小?例如当页面在webview中加载时,字体大小就像是24pt。对于我的android屏幕来说太大了。我查看了“网络设置”,但似乎两者没有关联。

由于

5 个答案:

答案 0 :(得分:95)

我终于找到了: -

WebSettings webSettings = webView.getSettings();

setTextSize

webSettings.setTextSize(WebSettings.TextSize.SMALLEST);

这个也适用: -

webSettings.setDefaultFontSize(10);

答案 1 :(得分:29)

现在看来,现在更喜欢的方式,即不折旧就是改变文字缩放,如下所示:

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

答案 2 :(得分:16)

当我想让用户在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()来更改文字大小。

答案 3 :(得分: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');");

当然你需要改变你需要的尺寸和颜色

答案 4 :(得分:0)

如果要动态地增加或减少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();
}