Android 2.3上的WebSettings.setZoomLevel“没有这样的方法”

时间:2013-06-07 12:48:33

标签: android eclipse android-2.3-gingerbread android-websettings

我有以下代码(非常简单):

WebSettings webSettings = webView.getSettings();
webSettings.setTextZoom(110);

在Android 4.0上运行时,一切都是正确的。但是,在尝试运行setTextZoom时,Android 2.2和Android 2.3.3都会抛出“没有这样的方法”(getTextZoom也是如此)。我知道之前的setTextSize方法现已弃用,但我没有找到关于setTextZoom是否存在的信息。我知道我的minSdkVersion是8,我的目标是9,Eclipse不会抱怨setTextZoom。

虽然我可以使用setTextSize(现已弃用)但我发现NORMAL尺寸太小而且太大了。

感谢您的帮助,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这应该支持新旧API。

@SuppressWarnings("deprecation")
    @SuppressLint("NewApi")
    protected void updateTextSize(WebSettings settings) {
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            settings.setTextZoom(some_value);
        } else {
            settings.setTextSize(TextSize.????);
        }
    }

修改 考虑到您的真正问题不是访问弃用的API,而是访问字体大小,我相信以下是您需要的答案:

protected void updateTextSize(WebSettings settings, int fontSize) {
        if(fontSize > 1 && fontSize < 72) {
            // there's no point setting a different value considering outside values will be pinned 
            settings.setDefaultFontSize(fontSize);
        }
    }