React native 什么';这是';窗口';和';屏幕';在维度API中
在我的iOS模拟器上,它们都返回相同的值 我理解普通浏览器的区别, 但这两者之间的区别是什么呢?React native 什么';这是';窗口';和';屏幕';在维度API中,react-native,React Native,在我的iOS模拟器上,它们都返回相同的值 我理解普通浏览器的区别, 但这两者之间的区别是什么呢? 是否存在返回不同值的场景?关于维度的文档非常糟糕(),因此您必须深入了解代码以了解发生了什么。如果您查看的来源,您将在第47行看到以下注释: // Screen and window dimensions are different on android 如果您使用责怪追溯历史,您将在代码的相关部分中找到,它本身指向报告不同屏幕高度的维度 我对安卓本身了解不够,但据我所知,安卓似乎可以报告两个不同
是否存在返回不同值的场景?关于维度的文档非常糟糕(),因此您必须深入了解代码以了解发生了什么。如果您查看的来源,您将在第47行看到以下注释:
// Screen and window dimensions are different on android
如果您使用责怪追溯历史,您将在代码的相关部分中找到,它本身指向报告不同屏幕高度的维度
我对安卓本身了解不够,但据我所知,安卓似乎可以报告两个不同的数字:
窗口的高度屏幕的高度。因此,这很可能意味着:
窗口
:不使用软菜单栏报告宽度/高度
屏幕
:报告整个屏幕的宽度/高度
我没有回复Android上的方向更改,所以我不知道旋转屏幕会如何影响这一点。在Android上,窗口
反映了此应用程序可用的整个屏幕
部分。至少有3种情况下,屏幕
和窗口
可能不同:
- 如果Android设备打开了设备,
窗口
的高度将比屏幕
的高度低导航器的高度。这是一个被删除的问题的答案中的链接
- 如果应用程序以模式显示,两个应用程序的窗口并排显示,
窗口的宽度或高度将低于屏幕的宽度或高度,具体取决于该屏幕的宽度或高度。这是在react本地文档上的一个“文档”,该文档已关闭,因为Facebook没有人查看它
- 如果Android设备在应用程序打开时在辅助功能设置中更改了或设置,则
窗口
的比例
、宽度
和高度
属性将更新以反映缩放,但屏幕
的属性将不会更新。如果重新启动应用程序,则窗口
缩放
属性将与屏幕的属性匹配
如果具有固定尺寸的元素无法在更改屏幕缩放时缩放,而不重新启动应用程序,则将这些尺寸乘以dimensions.get('window')。scale/dimensions.get('screen')。scale
可能会有所帮助
窗口的宽度和高度
将与屏幕
相同或更小;只有一个例外:如果应用程序是在“显示大小”或“屏幕缩放”设置设置为高的情况下打开的,则在应用程序仍然打开的情况下,该设置会设置为低。在这种情况下,高度和宽度将更大,比例将以相同的比例降低。感谢您的回答,感谢您(以一种微妙的方式)向我展示,我本可以自己找到它;-)是相对于窗口
或屏幕
的.measure()
调用吗?Android支持拆分屏幕,其中您的窗口仅覆盖部分屏幕。在某些发行版和chromeOS上也有自由形式的窗口,其中窗口大小小于屏幕,可以调整大小。您可以在清单中指定您的应用程序不支持这些功能,然后操作系统将不允许。然后在普通的全屏手机应用程序上有系统栏。无论它们是包含在窗口中还是缩小窗口以排除它们,都可以由应用程序本身进行配置。太棒了!多么历史性的回答啊!