android WebView(二)缩放
16lz
2021-01-26
很多时候需要WebView加载的页面可以缩放,以方便阅读。
其实WebView的缩放并没有那么简单,不能通过一两个属性就能设置好,一般情况下需要同时设置一下几个属性:
setBuiltInZoomControls 设置此属性可视实现两个手机滑动缩放,并且在屏幕上显示一个缩放工具。
setUseWideViewPort 此属性其实是需要根据你要加载的页面来设置的,因为有些页面是很早期的只适配了pc的浏览器的页面,页面很大,需要宽大的视野来展示,这时候设置为true就可以在足够的空间拖动,并且页面可以以任意比例缩放。
setLoadWithOverviewMode 此属性为true表示用尽可能大的视野展示页面,一般和上一属性搭配使用。当然大视野显示的字都很小。
setLayoutAlgorithm 其实这个属性并不推荐,也是Google放弃的一个属性。此属性用来控制页面的布局,有三个类型:
SINGLE_COLUMN:把所有内容放大到webview等宽的一列中。
NORMAL:正常显示不做任何渲染。
NARROW_COLUMNS:可能的话让所有列的宽度不超过屏幕宽度。
如果你的网页不想让缩放,并且希望页面能够自适应手机屏幕的,可以在你的html文件中添加下面的属性:
WebView在加载包含以上属性的页面时,即使是已经设置WebView可以缩放了,这个页面也不会被缩放,并且这个页面会尽量以最
其实WebView的缩放并没有那么简单,不能通过一两个属性就能设置好,一般情况下需要同时设置一下几个属性:
// 设置可以支持缩放 webSettings.setSupportZoom(true); // 设置出现缩放工具 webSettings.setBuiltInZoomControls(true);//设置可在大视野范围内上下左右拖动,并且可以任意比例缩放webSettings.setUseWideViewPort(true);//设置默认加载的可视范围是大视野范围webSettings.setLoadWithOverviewMode(true);//自适应屏幕webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
setSupportZoom 是必须得设置的,但是只设置此属性并不能实现缩放,在某些版本的手机上也只是能实现点击缩放。 setBuiltInZoomControls 设置此属性可视实现两个手机滑动缩放,并且在屏幕上显示一个缩放工具。
setUseWideViewPort 此属性其实是需要根据你要加载的页面来设置的,因为有些页面是很早期的只适配了pc的浏览器的页面,页面很大,需要宽大的视野来展示,这时候设置为true就可以在足够的空间拖动,并且页面可以以任意比例缩放。
setLoadWithOverviewMode 此属性为true表示用尽可能大的视野展示页面,一般和上一属性搭配使用。当然大视野显示的字都很小。
setLayoutAlgorithm 其实这个属性并不推荐,也是Google放弃的一个属性。此属性用来控制页面的布局,有三个类型:
SINGLE_COLUMN:把所有内容放大到webview等宽的一列中。
NORMAL:正常显示不做任何渲染。
NARROW_COLUMNS:可能的话让所有列的宽度不超过屏幕宽度。
如果你的网页不想让缩放,并且希望页面能够自适应手机屏幕的,可以在你的html文件中添加下面的属性:
WebView在加载包含以上属性的页面时,即使是已经设置WebView可以缩放了,这个页面也不会被缩放,并且这个页面会尽量以最
合适的方式显示出来。其实这是做页面流行的也是推荐的做法。
更多相关文章
- 浅谈Android中常用的五种布局方式
- android自定义XML布局属性
- Android开发中Material Design风格设置页面的实践
- 对Android任务栈的理解(很乱,只是随便记下我的总结)
- [android] Proguard代码混淆器如何排除指定的类或子类
- Android(安卓)ApiDemos示例解析(103):Views->Auto Complete->5.
- 超酷的计步器APP(一)——炫酷功能实现,自定义水波纹特效、自定义炫
- 从0系统学Android--3.2四种基本布局
- Android(安卓)图片获取及上传