zoukankan      html  css  js  c++  java
  • 小程序 wx.getSystemInfoSync 获取 windowHeight 问题

    windowHeight 概念

    可使用窗口高度,即:屏幕高度(screenHeight) - 导航(tabbar)高度

    存在问题

    安卓设备下获取 windowHeight 不能准确得到对应的高度,总是拿到屏幕高度

    原因

    1. 同步接口 wx.getSystemInfoSync 并不同步(猜测)

    wx.getSystemInfoSync 只是在页面初始化时提前计算。所以对于 windowHeight 这种需要进行功能判断的属性,应该使用异步接口,实时获取

    2. wx.getSystemInfo 调用的时机不当

    上面讲了 windowHeight 的定义,所以这个值取决于 tabbar 是否存在

    为了保证 tabbar 显示后再进行取值,建议在生命周期的 onReady 钩子中调用接口 wx.getSystemInfo

    最终方案

    1. 采用异步接口 wx.getSystemInfo
    2. onReady 中调用

    代码

      onReady() {
        wx.getSystemInfo({
          success({windowHeight}) {
            // todo
          }
        });
      }
  • 相关阅读:
    Eclipse下载
    RTT之AT命令组件
    RTT之shell
    RTT之内存管理及异常中断
    单片机的图形UI
    RTT学习
    RTT学习之线程管理
    C++学习笔记:
    运放
    关于KEIL下的图形化显示和输出问题
  • 原文地址:https://www.cnblogs.com/10manongit/p/12720240.html
Copyright © 2011-2022 走看看