WebView显示网页密度问题
用自定义的webview显示网页内容时 有时候网页显示不尽人意。例如 手机显示水平有滑动的,通过设置webSettings.setDefaultZoom(zoomDensity)//WebSettings.ZoomDensity.MEDIUM ;显示的界面不同。后来发现时密度的原因,于是添加
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 ;
}
webSettings.setDefaultZoom(zoomDensity);
但是这个getResources().getDisplayMetrics().densityDpi ; 在我手机显示的内容小了 看代码运行的是zoomDensity = WebSettings.ZoomDensity.FAR;
后来发现densityDpi和density,我修改getResources().getDisplayMetrics().densityDpi为getResources().getDisplayMetrics().density后得到了我想要的结果。
后来网上看了看densityDpi 和density的区别 ,一个是像素密度(densityDpi 指每英寸中的像素数) 一个是密度(density指每平方英寸中的像素数)
densityDpi 和density的区别可以参考:http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html