您將密度設置爲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這兩個的。
下面是關於密度的一些進一步閱讀:http://developer.android.com/guide/practices/screens_support.html
感謝您的好解釋。 – 2012-03-16 23:17:54