Android 浏览器报告错误的屏幕尺寸?

标签 android mobile media resolution

我正在开发一个移动网站,我遇到了一个有趣的问题。

我正在我的台式机以及我的摩托罗拉 Droid (Android 2.2) 上进行测试。我设置了媒体查询以加载 3 种不同的样式表(320 像素宽、480 像素宽和 640 像素宽)。我注意到我的 Droid 正在加载 320 像素的样式表,尽管它有一个 480x854 像素的屏幕。我设置了一些 JS 来找出屏幕宽度是多少,它报告 320px。

Android 浏览器是否在 HDPI 屏幕上以 MDPI 运行?它正确地缩放 320px 以填满屏幕,但我有点困惑为什么会这样。

此外,我的页面上确实有 <meta name="viewport"content="width=device-width">,所以这不是问题。

最佳答案

许多原始设备制造商选择根据 iPhone 的尺寸(或类似分辨率)设置其默认浏览器视口(viewport)尺寸,尽管分辨率完全不同。 Apple 在 iPhone 4 上发布“视网膜显示屏”时遇到了类似的问题,规范表上标明 640px,但 screen.width 设置后将返回 320px。

正如@omermuhammed 提到的,您的逻辑基于 screen.width、CSS @media 查询和/或使用 WURFL 或 DeviceAtlas 的设备检测。

以下文章也可能有助于澄清问题:

一个像素不是一个像素不是一个像素 @ppk http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

关于Android 浏览器报告错误的屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999000/

相关文章:

android - 如何在自定义 ListView 中将特定 TextView 文本显示为 toast 消息?

android - 在 Fragments 中隐藏 EditText 的键盘

ruby - Paypal Adaptive Payments 移动应用程序在完成或取消时挂起

android - 媒体编解码器 API

Android SDK 30,写入外部存储根目录

python - 无法在数据库的 html 页面上显示图像

java - 将 strings.xml 中的字符串放入 Toast 消息中

android - DecimalFormat float 上的 NumberFormatException

android - 新的 Foursquare 更改(拆分 Foursquare/Swarm)会影响 API 吗?

javascript - 当元标记存在时 HTML5 Canvas 不显示图像