[问题解决]WebView显示的网页在大分辨率屏下被放大 - 密度惹的祸
?
例如适合800px宽度的页面,如果通过WebView在1024px的屏幕宽度下显示时,内容(图片)会被放大,整体页面会超出屏幕。于是,只要通过当前屏幕的密度,动态设置该属性就能适应不同屏幕(当然,默认你的页面是针对160dpi的密度大小设计的):
int?screenDensity?= getResources().getDisplayMetrics().densityDpi;WebSettings.ZoomDensity?zoomDensity?= WebSettings.ZoomDensity.MEDIUM;switch(screenDensity){case?DisplayMetrics.DENSITY_LOW:??? zoomDensity = WebSettings.ZoomDensity.CLOSE;????break;case?DisplayMetrics.DENSITY_MEDIUM:??? zoomDensity = WebSettings.ZoomDensity.MEDIUM;????break;case?DisplayMetrics.DENSITY_HIGH:??? zoomDensity = WebSettings.ZoomDensity.FAR;????break;}webview.getSettings().setDefaultZoom(zoomDensity);?