android webview setInitialScale 方法神奇的功能.
web.setInitialScale(25);//为25%,最小缩放等级
解释: 里面的数字代表缩放等级
web.setInitialScale(100); 代表不缩放。
什么是不缩放? 比如你要加载的网页中有图片的宽度是 500px ,如果你的手机分辨率(屏幕宽度) 是1000的话,那么整个图片只占一半的屏幕。 其他的字体都是按照标准展示
如果这个时候如果你设置 web.setInitialScale(200) ,代表放大一倍,真个网页都会放大一倍,这个时候图片正好展示整个屏幕宽度,另外网页的字体也会放大一倍
如果这个时候如果你设置 web.setInitialScale(50) ,代表缩小一倍,这个时候图片正好展示只占屏幕的四分之一,另外网页的字体也会同时变小
设置缩放有什么用?
功能非常大:
比如你有一个网页里面有300宽度的图片,你想在不同分辨率手机上面进行展示,那么为了得到最优的展示效果,你需要根据不同手机的宽度来设置缩放比例
比如:5.5寸手机,屏幕宽度 720 ,你可以设置 web.setInitialScale(190); 图片展示效果最好
5寸手机 屏幕 540 ,你可以设置 web.setInitialScale(160); 图片展示效果最好
.....
下面是设置的具体代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /** * 这里需要根据不同的分辨率设置不同的比例,比如 * 5寸手机设置190 屏幕宽度 > 650 180 * 4.5寸手机设置170 屏幕宽度> 500 小于 650 160 * 4寸手机设置150 屏幕宽度> 450 小于 550 150 * 3 屏幕宽度> 300 小于 450 120 * 小于 300 100 * 320×480 480×800 540×960 720×1280 */ WindowManager wm = (WindowManager) AbstractDetailActivity.this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); if(width > 650) { this.webView.setInitialScale(190); }else if(width > 520) { this.webView.setInitialScale(160); }else if(width > 450) { this.webView.setInitialScale(140); }else if(width > 300) { this.webView.setInitialScale(120); }else { this.webView.setInitialScale(100); } |
良心的公众号,更多精品文章,不要忘记关注哈
《Android和Java技术栈》

通过设置WebView的初始缩放比例,可以实现网页在不同分辨率设备上的最佳显示效果。例如,对于5.5寸手机,可以通过设置190%的缩放比例使300px宽度的图片完全铺满屏幕。
478

被折叠的 条评论
为什么被折叠?



