小程序 处理页面布局变化

发布于 2024-04-28 15:07:43 字数 1418 浏览 14 评论 0

页面布局变化

对于不同尺寸的显示区域,页面的布局会有所差异。此时可以使用 media query 来解决大多数问题。

  1. 在 WXML 中,可以使用 match-media 组件来根据 media query 匹配状态展示、隐藏节点。
  2. 此外,可以在页面 或 自定义组件 JS 中使用 this.createMediaQueryObserver() 方法来创建一个 MediaQueryObserver 对象,用于监听指定的 media query 的匹配状态

控制一些精细的布局变化

使用 js 作为辅助。在 js 中读取页面的显示区域尺寸,可以使用 selectorQuery.selectViewport

页面尺寸发生改变时,可以使用页面的 onResize 来监听。

// 页面
Page({
  onResize(res) {
    res.size.windowWidth // 新的显示区域宽度
    res.size.windowHeight // 新的显示区域高度
  }
})

对于自定义组件,可以使用 resize 生命周期来监听,回调函数中将返回显示区域的尺寸信息。

// 自定义组件
Component({
  // 所属页面生命周期
  pageLifetimes: {
    resize(res) {
      res.size.windowWidth // 新的显示区域宽度
      res.size.windowHeight // 新的显示区域高度
    }
  }
})

此外,还可以使用 wx.onWindowResize 来监听(但这不是推荐的方式)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
23 人气
更多

推荐作者

我们的影子

文章 0 评论 0

素年丶

文章 0 评论 0

南笙

文章 0 评论 0

18215568913

文章 0 评论 0

qq_xk7Ean

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文