1

我正在努力思考如何在适用于 Android 4.0 及更高版本的应用程序中的嵌入式 WebView 中指定 CSS 尺寸。在我正在测试的三台设备(Nexus 4/7/10)上,似乎如果我使用以下视口指令:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

...然后加载到该 web 视图中的内容中的任何 CSS 尺寸与设备无关像素完全相同。也就是说,在我的 Nexus 10 上,它是 2560 物理像素宽,如果我在我的 web 视图中指定宽度为 1280 的东西,它将完全填满屏幕的宽度。

我喜欢我可以在我的 CSS 中使用与设备无关的像素的想法,但我需要确保我能够计算此类 DIP 中的精确可用空间。所以我希望如果一个 WebView 有 1920 个物理像素的宽度,它的 CSS 像素宽度应该是:

  • 在 mdpi 显示器上,1920 像素。
  • 在 hdpi 显示器上,1280 像素。
  • 在 xhdpi 显示器上,960 像素。
  • 在 xxhdpi 显示器上,640 像素。

这是真的?

4

1 回答 1

0

如果要转换物理 <-> DIP 像素,则需要使用 window.devicePixelRatio (或DisplayMetrics):密度名称(mdpi、hdpi 等)只是括号/类别 - 同一类别中的两个设备可能具有不同的 devicePixelRatio 值。

对于您正在做的事情,看看WebView 中的 Pixel-Perfect UI可能是个好主意。

于 2013-11-27T19:15:35.960 回答