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技术栈》