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

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

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

在标准HVGA手机(320×480)上看起来很好,但在HDPI WVGA尺寸(480×800或480×854)上,内置的浏览器会自动缩放图像; 它看起来很丑。

我读过,我应该能够使用此标签强制浏览器停止扩展我的网页:

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

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

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

Solutions Collecting From Web of "如何让WVGA Android浏览器停止缩放我的图像?"

啊,通过searchAndroid源代码find它。 在“视口”元标记中提供了一个新的Android专用“ 目标密度Dpi ”设置; 据我所知,这是完全没有文件,除了签入评论!

为WebView添加dpi支持。

在“视口”meta标签中,您可以指定“target-densityDpi”。 如果没有指定,则使用默认的160dpi。 那么在视口标签中指定的1.0比例因子意味着G1上的100%和Sholes上的150%。 如果您将“target-densityDpi”设置为“device-dpi”,则1.0比例因子在G1和Sholes上均为100%。

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

所以如果你使用“device-dpi”,并根据window.devicePixelRatio修改字体大小和图像src的CSS,你可以在Sholes / Passion上获得更好的页面。

这里是“target-densityDpi”的选项列表。

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

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

请参阅标题为构build网页以支持不同屏幕密度的部分