丫的以前在2.3上做的AP,使用的是setZoom,前两天在手机4.2上run的时候也没发现啥问题
public void screenSetting() { 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.CLOSE; break; case DisplayMetrics.DENSITY_HIGH: zoomDensity = WebSettings.ZoomDensity.FAR; break ; } webview.getSettings().setDefaultZoom(zoomDensity);//webSettings.setDefaultZoom(zoomDensity); }
偶然在4.1的8寸平板上跑,发现字体出奇的小,查了dpi没有问题,函数也正常,界面大小死活不变,后来查了半天,有人说这个设置在4.1以上无效了(因为4.0我试了也正常),有人说是机器的问题,不管啥问题,反正是用不成了,后来只能通过字体缩放来搞定了,因为之前webview里面有图片,所以需要整体缩放,现在单纯的缩放字体也不是很合适,考虑用css来调整图片大小吧~~Android的碎片伤不起呀。。。。
int screenDensity = context.getResources().getDisplayMetrics().densityDpi ; switch (screenDensity){ case DisplayMetrics.DENSITY_LOW: DEFAULTFONTSIZE = 20; break; case DisplayMetrics.DENSITY_MEDIUM: DEFAULTFONTSIZE = 20; break; case DisplayMetrics.DENSITY_HIGH: DEFAULTFONTSIZE = 16; break ; case DisplayMetrics.DENSITY_XHIGH: DEFAULTFONTSIZE = 16; break ; } webview.getSettings().setDefaultFontSize(DEFAULTFONTSIZE);