您将密度设置为1.0,并告诉Android的WebView在您以特定方式声明视口时不会缩放任何东西。您可以删除该视口声明,然后会导致图像缩放以及字体,或者可以基于用户运行应用程序的Android设备修改WebView的文本大小设置。我会假设你想要做后者。
您需要先计算设备的密度。你可以用这段代码来做到这一点:
float density = getResources().getDisplayMetrics().density;
然后你可以调整密度的字体大小。如果密度是1.0,那么它是中等密度(mdpi),> = 1.5是高密度(hdpi),> = 2.0是超高密度(xhdpi)。
如果您正在使用ICS,那么它具有的WebView一个很好的API:
webView.getSettings().setTextZoom(100 * density);
如果您正在使用ICS预设备,那么你必须使用if/else语句来检查上面再密度使用:
if (density < 1.5) {
// mdpi:
webView.getSettings().setTextSize(WebSettings.TextSize.NORMAL);
} else if ((density >= 1.5) && (density < 2.0)) {
// hdpi:
webView.getSettings().setTextSize(WebSettings.TextSize.LARGER);
} else {
// xhdpi:
webView.getSettings().setTextSize(WebSettings.TextSize.LARGEST);
}
或者更好的是,你可以通过检查Build.VERSION.SDK_INT在if ICS /其他预包装ICS这两个的。