服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android编程实现WebView自适应全屏方法小结

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

2021-04-16 16:04wiseideal Android

这篇文章主要介绍了Android编程实现WebView自适应全屏方法,结合实例形式总结了三种常用的WebView自适应全屏实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android编程实现WebView自适应全屏的方法。分享给大家供大家参考,具体如下:

第一种:

?
1
2
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

第二种:

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

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

第三种:

?
1
2
3
4
5
6
7
8
9
10
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 按这个比例拉升 配合

?
1
2
3
4
5
6
7
8
9
10
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);
}

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

希望本文所述对大家Android程序设计有所帮助。

延伸 · 阅读

精彩推荐