HarmonyOS 获取的键盘高度比原来的高了

最新的DEV ECO模拟器键盘比原来获取的高度要高

HarmonyOS
2024-12-20 16:09:53
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

可以使用窗口相关接口获取软键盘高度,代码如下:

aboutToAppear() {
  window.getLastWindow(getContext(this))
    .then(currentWindow => {
      //获取windowClass对象
      let property = currentWindow.getWindowProperties(); //方式1:获取规避区域
      let avoidArea = currentWindow.getWindowAvoidArea(window.AvoidAreaType.TYPE_KEYBOARD);
      // 初始化显示区域高度
      this.screenHeight = px2vp(property.windowRect.height - avoidArea.bottomRect.height);
      // 监视软键盘的弹出和收起
      currentWindow.on('avoidAreaChange',
      async data => {
        if (data.type !== window.AvoidAreaType.TYPE_KEYBOARD) {
          return;
        }
        this.screenHeight = px2vp(data.area.bottomRect.height);
        console.log(this.screenHeight + '' + 'foo xxx'
        ) //控制台输出可以看到键盘的高度
      }
      )
      //方式2:直接获取软键盘高度
      currentWindow.on('keyboardHeightChange', data => {
        console.log("foo data" + px2vp(data))
        //控制台输出可以看到键盘的高度
      }
      )
    })
}

参考链接为:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5

分享
微博
QQ
微信
回复
2024-12-20 18:56:34
相关问题
HarmonyOS 如何获取键盘高度?
1027浏览 • 1回复 待解决
HarmonyOS如何获取系统软键盘高度
689浏览 • 1回复 待解决
获取设备屏幕宽度和高度
757浏览 • 1回复 待解决
HarmonyOS 获取h5高度和宽度
103浏览 • 1回复 待解决
获取状态栏高度方法
2030浏览 • 1回复 待解决
HarmonyOS 获取text高度
175浏览 • 1回复 待解决
状态栏高度怎么获取
9743浏览 • 3回复 待解决
HarmonyOS 关于 margin 设置百分问题
118浏览 • 1回复 待解决