0

在我的应用程序中,我使用的是 webview,为了增加/减少文本大小,我使用 WebSettings().setTextSize 方法,但是,此方法仅限于 5 个预定义的枚举大小(SMALLEST、SMALLER、NORMAL、LARGER、最大)。我知道我可以使用 WebSettings().setTextZoom(int),但是我的应用程序可用于 API 级别 8 及更高级别,并且此方法是在 API 级别 14 中引入的。

我的问题是:有没有办法将其他尺寸添加到 webSettings().setTextSize?也许通过扩展 textSize 枚举,或定义其他大小?

顺便说一句:WebSettings.setDefaultFontSize(int size) 不起作用,可能是因为我使用的网页包含一个大的 CSS 文件......

4

1 回答 1

0

您可以在 pageloadfinished 上将 css 代码注入您的应用程序,并以此更改文本大小。

使用 css 注入将背景颜色更改为渐变的示例:

public void onPageFinished(WebView view, String url) {
    //styling

    webview.loadUrl("javascript:(function() { " +  
        "document.getElementsByTagName('body')[0].style.background = '-webkit-gradient(linear, 0% 0%, 0% 100%, from(#143b8a), to(#266af3))'; " + 
        "})()");  
}
于 2012-09-27T08:12:04.170 回答