HarmonyOS webview组件中加载H5后,唤起键盘操作后,被键盘挤上去了,监听和控制设备键盘操作使用哪个API?

如题:HarmonyOS webview组件中加载H5后,唤起键盘操作后,被键盘挤上去了,监听和控制设备键盘操作使用哪个API?

阅读 549
1 个回答

可以参考这个demo:

import { window } from '@kit.ArkUI';

@Entry
@Component
struct KeyBoardEventDemo {
  @State message: string = 'Hello World';
  @State marginTop: number = 1000;

  aboutToAppear(): void {
    window.getLastWindow(getContext(this)).then(currentWindow => {
      currentWindow.on('keyboardHeightChange', data => {
        if (data != 0) {
          this.marginTop = 500
        } else {
          this.marginTop = 1000
        }
        console.log('键盘高度变化' + data)
      })
    })
  }

  build() {
    Column() {
      Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)
      TextInput()
    }.width('100%').margin({ top: px2vp(this.marginTop) })
  }
} 

控制软键盘的弹出和隐藏倒是有api,但是这个api必须要绑定输入框一块使用,请参考如下链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inputmethod-V5\#showsoftkeyboard9

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进