Android - Websettings settextsize,如何添加除5个预设之外的其他值

时间:2012-09-27 07:49:04

标签: android

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

我的问题是:有没有办法在webSettings()中添加其他大小.setTextSize?可能通过扩展textSize枚举,或定义其他大小?

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

1 个答案:

答案 0 :(得分:0)

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

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

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))'; " + 
        "})()");  
}