如何让WVGA Android浏览器停止缩放图像?

时间:2010-05-09 06:20:45

标签: android browser webkit highdpi

我正在设计一个HTML页面,以便在Android浏览器中显示。考虑这个简单的示例页面:

<html>
<head><title>Simple!</title>
</head>
<body>
<p><img src="http://sstatic.net/so/img/logo.png"></p>
</body>
</html>

在标准HVGA手机(320x480)上看起来很不错,但在HDPI WVGA尺寸(480x800或480x854)上,内置浏览器会自动缩放图像;它看起来很难看。

我读过我应该可以使用此标记强制浏览器停止缩放页面:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;" />

...但所有这一切都是禁用用户缩放(缩放按钮消失);它实际上并没有阻止浏览器缩放我的图像。调整比例因子(将它们全部设置为2.0或0.5)完全没有效果。

如何强制WVGA浏览器停止缩放图像?

2 个答案:

答案 0 :(得分:32)

啊,通过搜索Android源代码找到它。 “viewport”元标记中提供了一个新的特定于Android的“target-densityDpi”设置;据我所知,除了办理登机手续的评论外,它完全没有记录!

  

为WebView添加dpi支持。

     

在“viewport”元标记中,您可以指定“target-densityDpi”。   如果未指定,则使用默认的160dpi。   那么视口标记中指定的1.0比例因子意味着100%   在Sholes上G1和150%。如果将“target-densityDpi”设置为   “device-dpi”,然后1.0比例因子对G1和Sholes都意味着100%。

     

实现了Safari的window.devicePixelRatio和css媒体查询   于设备的像素比。

     

因此,如果您使用“device-dpi”并修改css的font-size和image   src取决于window.devicePixelRatio,你可以获得更好的页面   肖尔斯/激情。

     

以下是“target-densityDpi”的选项列表。

     

device-dpi:使用设备的本机dpi作为目标dpi。   低dpi:120dpi   medium-dpi:160dpi,这也是今天的默认值   高dpi:240dpi   :我们将70到400之间的任何数字作为有效目标dpi。

答案 1 :(得分:5)

现在它已成为WebView的API文档的一部分:http://developer.android.com/reference/android/webkit/WebView.html

请参阅标题为构建网页以支持不同屏幕密度

的部分