get-window-info.md 2.1 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4
## uni.getWindowInfo() @getwindowinfo

<!-- UTSAPIJSON.getWindowInfo.description -->

D
DCloud_LXH 已提交
5 6
<!-- UTSAPIJSON.getWindowInfo.compatibility -->

D
DCloud_LXH 已提交
7 8
<!-- UTSAPIJSON.getWindowInfo.param -->

D
DCloud_LXH 已提交
9
<!-- UTSAPIJSON.getWindowInfo.returnValue -->
D
DCloud_LXH 已提交
10

DCloud-yyl's avatar
DCloud-yyl 已提交
11
下图标注了各区域信息
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
12

DCloud-yyl's avatar
DCloud-yyl 已提交
13
![](https://web-ext-storage.dcloud.net.cn/uni-app-x/API/getWindowInfo/size.png)
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
14 15 16 17 18

### 安全区域说明

由于部分手机屏幕有顶部的“刘海”和底部导航的存在,为了确保内容区域不被遮挡,提出了安全区域,以便于在安全区域内布局。

DCloud-yyl's avatar
DCloud-yyl 已提交
19
app-android平台全屏模式下分安全区域字段说明:
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
20 21 22 23
- safeArea.top : statusBarHeight
- safeArea.bottom: statusBarHeight + 标题栏高度 + windowHeight + tabbar高度
- safeArea.height: safeArea.bottom - safeArea.top

taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
24 25
iOS端safeArea与iOS原生的安全区域概念相同,top与bottom分别对应`window.safeAreaInsets.top` `window.safeAreaInsets.bottom`,具体请参照[Apple文档](https://developer.apple.com/documentation/uikit/uiview/positioning_content_relative_to_the_safe_area)

D
DCloud_LXH 已提交
26
::: warning 注意事项
DCloud-yyl's avatar
DCloud-yyl 已提交
27 28
- `screenWidth`/`screenHeight`获取的是设备屏幕宽高信息
    + app平台应用在非全屏模式(如“浮窗”或“分屏”)时,仍然返回的设备屏幕的宽高
DCloud-yyl's avatar
DCloud-yyl 已提交
29 30
- `windowWidth`/`windowHeight`获取的是当前栈顶页面的可使用窗口宽高信息,调用此API前如果打开了新页面,可能获取到的是新开页面的信息
    + app平台需要在页面渲染后才能获取到准确信息,稳妥起见,建议在页面生命周期`onReady`后获取
DCloud-yyl's avatar
DCloud-yyl 已提交
31 32 33
- `statusBarHeight`获取的是系统状态栏高度
    + app-Android平台横屏时获取的状态栏高度与竖屏一致
    + app-iOS平台横屏时获取的状态栏高度为0,与竖屏时获取的高度不一致
DCloud-yyl's avatar
DCloud-yyl 已提交
34 35
- `windowTop`/`windowBottom` 在app平台页面内容无法渲染顶部默认导航栏或底部tabBar区域,返回的值一定为0
- HBuilderX4.25版本开始,app-android平台返回的安全区域的 top 属性值调整为手机状态栏高度
D
DCloud_LXH 已提交
36
:::
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
37

D
DCloud_LXH 已提交
38
<!-- UTSAPIJSON.getWindowInfo.example -->
D
DCloud_LXH 已提交
39 40 41 42 43

<!-- UTSAPIJSON.getWindowInfo.tutorial -->

<!-- UTSAPIJSON.general_type.name -->

D
DCloud_LXH 已提交
44
<!-- UTSAPIJSON.general_type.param -->