我正在设计一个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浏览器停止缩放图像?
答案 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
请参阅标题为构建网页以支持不同屏幕密度
的部分