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 

posted @ 2012-08-13 16:11  天边的星星  阅读(1023)  评论(0编辑  收藏  举报