android WebView(二)缩放

来源:互联网 发布:linux创建目录 ls 编辑:程序博客网 时间:2024/05/01 16:50
很多时候需要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文件中添加下面的属性:
 <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">    <meta name="mobileOptimized" content="width">    <meta name="handheldFriendly" content="true">

WebView在加载包含以上属性的页面时,即使是已经设置WebView可以缩放了,这个页面也不会被缩放,并且这个页面会尽量以最

合适的方式显示出来。其实这是做页面流行的也是推荐的做法。



3 0