我有以下代码(非常简单):
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尺寸太小而且太大了。
感谢您的帮助,感谢您的帮助!
答案 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);
}
}