Android编程实现WebView自适应全屏方法小结

2019-12-10 19:47:19王旭
易采站长站为您分析Android编程实现WebView自适应全屏方法,结合实例形式总结了三种常用的WebView自适应全屏实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下  

本文实例讲述了Android编程实现WebView自适应全屏的方法。,具体如下:

第一种:

settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

第二种:

WebSetting settings = webView.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

把所有内容放在webview等宽的一列中。(可能会出现页面中链接失效)

第三种:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int mDensity = metrics.densityDpi;
if (mDensity == 120) {
settings.setDefaultZoom(ZoomDensity.CLOSE);
}else if (mDensity == 160) {
settings.setDefaultZoom(ZoomDensity.MEDIUM);
}else if (mDensity == 240) {
settings.setDefaultZoom(ZoomDensity.FAR);
}

在我的项目中没办法适用 不过还是找到了方法

复制代码 webView.setInitialScale(960*100 / MainActivity.screenHeight);

 

我的网页高度为960 按这个比例拉升 配合

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int mDensity = metrics.densityDpi;
if (mDensity == 120) {
settings.setDefaultZoom(ZoomDensity.CLOSE);
}else if (mDensity == 160) {
settings.setDefaultZoom(ZoomDensity.MEDIUM);
}else if (mDensity == 240) {
settings.setDefaultZoom(ZoomDensity.FAR);
}

显示的效果可以接受,一般这样的方式可以解决大多数高度宽度固定的网页显示的问题