小程序开放平台

文档中心
暂无目录

onResize(页面事件处理函数)

更新时间:2026-02-04 16:29:25

onResize

页面显示区域尺寸变化时触发。适用于半屏到全屏的拖动过渡、导航栏显隐等场景,用于根据尺寸变化做布局适配。

触发时机

  • 半屏 ↔ 全屏拖动过程中
  • 导航栏随拖动显隐导致 webview 区域变化时
  • 其他容器尺寸变化场景

效果示意如下:

透明导航栏
不透明导航栏

回调参数

字段名称
字段类型
是否必传
说明
res
objecttrueonResize 回调参数
size
objecttrue当前 webview 尺寸
windowWidth
numbertrue可使用窗口宽度,单位 px
windowHeight
numbertrue可使用窗口高度,单位 px
safeArea
objecttrue安全区域,与
xhs.getSystemInfoSync()
中 safeArea 含义一致
top
numbertrue安全区域上边界
bottom
numbertrue安全区域下边界
left
numbertrue安全区域左边界
right
numbertrue安全区域右边界
width
numbertrue安全区域宽度
height
numbertrue安全区域高度
interactive
booleantrue是否在拖动过程中

代码示例

Page({
  onResize(res) {
    const { windowWidth, windowHeight } = res.size
    const { top, bottom, left, right } = res.safeArea

    // 根据新尺寸更新布局
    this.setData({
      viewHeight: windowHeight,
      safeTop: top
    })

    // 拖动过程中可做动画过渡等
    if (res.interactive) {
      // 正在拖动...
    }
  }
})

参数示例

{
  "size": {
    "windowWidth": 1920,
    "windowHeight": 1080
  },
  "safeArea": {
    "top": 24,
    "left": 0,
    "bottom": 0,
    "right": 0,
    "width": 1920,
    "height": 1080
  },
  "interactive": "YES/NO"
}