Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView:如果宽度=设备宽度,比例=1.0,CSS像素是否总是相等?_Android_Css_Android Webview_Viewport_Density Independent Pixel - Fatal编程技术网

Android WebView:如果宽度=设备宽度,比例=1.0,CSS像素是否总是相等?

Android WebView:如果宽度=设备宽度,比例=1.0,CSS像素是否总是相等?,android,css,android-webview,viewport,density-independent-pixel,Android,Css,Android Webview,Viewport,Density Independent Pixel,我正试图了解如何在我的Android 4.0及更高版本应用程序的嵌入式网络视图中指定CSS维度。在我正在测试的三台设备(Nexus 4/7/10)上,如果我使用以下视口指令: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> …然后加载到该webview的内容中的任何CSS维度都与设备无关像素完全相同。也就是说,在

我正试图了解如何在我的Android 4.0及更高版本应用程序的嵌入式网络视图中指定CSS维度。在我正在测试的三台设备(Nexus 4/7/10)上,如果我使用以下视口指令:

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

…然后加载到该webview的内容中的任何CSS维度都与设备无关像素完全相同。也就是说,在我的Nexus10上,它是2560个物理像素宽,如果在我的webview中我指定某个宽度为1280,它将完全填满屏幕的宽度

我喜欢在CSS中使用与设备无关的像素的想法,但我需要确保我能够在这种倾斜中计算出精确的可用空间。因此,我预计,如果一个WebView有1920个物理像素的宽度,那么它的CSS像素宽度应该是:

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

这是真的吗?

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


对于你正在做的事情,不妨看一看

我读过那一页,但我只是重新浏览了一下,我想我找到了对我理解的确认。它说,“一个CSS“像素”实际上考虑了设备像素比率(512px*2=1024px)。“另外,关于像素比率,我的理解是,不管每英寸的实际点数是多少,每个设备都会落入预定义的存储桶中(1.0x、1.5x、2.0x和3.0x)。他们给出的所有示例都使用其中一个,他们链接到的站点()仅显示这些值。@BrianRak“每个设备都将落入预定义的存储桶中(1.0x、1.5x、2.0x和3.0x)”:“旧”N7的像素比为1.33..,这两者都不有趣:)。实际上,尽管1.33也是一个预定义的bucket,称为“tvdpi”。()谷歌表示它主要用于电视(因此得名),但至少这似乎仍然支持这样一种理论,即设备将始终使用预定义的bucket。我在其他设备上做了一些测试,他们都报告了一个window.devicePixelRatio,它与一个预定义的bucket完全对应。