#鸿蒙通关秘籍#如何根据键盘弹出情况调整页面布局以提高用户体验?

HarmonyOS
2024-12-05 15:20:46
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨海听涛AR

可以通过监听键盘高度变化,动态调整页面布局,避免被键盘遮挡。使用window.on(‘avoidAreaChange’)windowClass.on(‘keyboardHeightChange’)方法监听键盘状态变化,在键盘弹出或收起时调整组件位置。

onPageShow(): void {
  // ...
  window.getLastWindow(getContext(this)).then(currentWindow => {
    let property = currentWindow.getWindowProperties();
    let avoidArea = currentWindow.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM);
    // 初始化显示区域高度
    this.screenHeight = px2vp(property.windowRect.height - avoidArea.topRect.height - avoidArea.bottomRect.height);
    // 监视软键盘的弹出和收起
    currentWindow.on('avoidAreaChange', async data => {
      if (data.type !== window.AvoidAreaType.TYPE_KEYBOARD) {
        return;
      }
      this.screenHeight = px2vp(property.windowRect.height - avoidArea.topRect.height - data.area.bottomRect.height);
    })
  })
  // ...
}
分享
微博
QQ
微信
回复
2024-12-05 16:36:34
相关问题
HarmonyOS 页面弹窗的样式弹出
645浏览 • 1回复 待解决