Mic*_*eng 65
有关Dimensions的文档非常差(未解决的问题),因此您必须深入了解代码以了解正在发生的事情.如果你看一下Dimensions的来源,你会在第47行看到这个评论:
// Screen and window dimensions are different on android
Run Code Online (Sandbox Code Playgroud)
如果您使用blame追溯历史记录,您会在指向此旧问题的相关代码部分找到此提交,该问题本身指向有关Dimensions报告不同屏幕高度的此问题.
我对Android本身并不了解,但从我可以收集到的内容来看,Android似乎可以报告两个不同的数字:
我的Android设备上的快速测试打印出这些值,我能够确认window高度screen的高度.所以很有可能,这意味着:
window:报告宽度/高度而不使用软菜单栏screen:报告整个屏幕的宽度/高度我没有跟回这个产品在Android上的方向变化的痛苦,所以我不知道旋转屏幕会如何影响这一点.
在 Android 上,window反映screen了可用于此应用程序的总数的部分。有至少3个的情况下screen,并window可以是不同的:
如果 Android 设备打开了设备导航栏,则window高度将比screen高度低导航器的高度。这在 RY Zheng 的这个答案中得到了说明,该答案在被删除的这个问题的答案中链接到了。
如果应用程序在Android 的分屏/多窗口模式下显示,两个应用程序的窗口并排显示,则window宽度或高度将低于screen基于该屏幕的宽度或高度的多少。ThisIsMissEm在本机文档的PR 中“记录”了这一点,该文档已关闭,因为 Facebook 没有人对其进行审核。
如果Android设备有“屏幕缩放”或“显示尺寸”中的辅助功能设置的设置改变而应用程序是开放的scale,width而height属性window将更新,以反映变焦但对性能screen不会。如果应用程序重新启动,该window scale属性将与屏幕的属性匹配。
如果具有固定尺寸的元素无法在不重新启动应用程序的情况下更改屏幕缩放比例时缩放,则将这些尺寸乘以Dimensions.get('window').scale / Dimensions.get('screen').scale可能会有所帮助。
宽度和高度window将等于或小于screen; 有一个例外:如果应用程序打开时“显示大小”或“屏幕缩放”设置设置为高,那么在应用程序仍然打开的情况下设置为低。在这种情况下,高度和宽度将更大,并且scale将以相同的比率降低。
| 归档时间: |
|
| 查看次数: |
8050 次 |
| 最近记录: |