HarmonyOS 软键盘弹出的时候要在软键盘上方增加几个业务按钮, 请问非输入法应用怎么监听软键盘的弹起或者自定义键盘弹起时,才展示的view。

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

监听软键盘的可以通过两个方式:通过输入法框架模块来监听(@ohos.inputMethod)用InputMethodController实例的on('sendKeyboardStatus')方法来监听,直接在inputMethodController.on('sendKeyboardStatus', callback)的callback中处理。

通过输入法框架模块来监听软键盘状态参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inputmethod-V5#onsendkeyboardstatus10

通过窗口模块来监听(@ohos.window)用Window实例的on('keyboardHeightChange')方法来监听软键盘高度,也能判断软键盘状态的。

通过窗口模块来监听软键盘状态参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#onkeyboardheightchange7

示例代码:

let windowClass: window.Window | undefined = undefined;
try {
  window.getLastWindow(this.context, (err: BusinessError, data) => {
    const errCode: number = err.code;
    if (errCode) {
      console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
      return;
    }
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
    windowClass.on('avoidAreaChange', (data) => {
      console.info('Succeeded in enabling the listener for system avoid area changes. type:' +
      JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area));
    });
  });
} catch (exception) {
  console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 如何监听软键盘弹出
34浏览 • 1回复 待解决
HarmonyOS 软键盘弹出隐藏监听
75浏览 • 1回复 待解决
HarmonyOS 软键盘弹出方式
68浏览 • 1回复 待解决
HarmonyOS TextInput软键盘监听
43浏览 • 1回复 待解决
HarmonyOS 软键盘会变为数字输入
30浏览 • 1回复 待解决
关于软键盘弹出遮挡问题
1286浏览 • 1回复 待解决
如何判断软键盘是否弹出
2156浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
45浏览 • 1回复 待解决
鸿蒙软键盘弹出后,页面底部按钮
4157浏览 • 0回复 待解决
软键盘弹出,页面的自适应
1616浏览 • 1回复 待解决
HarmonyOS 弹出软键盘,web页面白屏
30浏览 • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出
476浏览 • 1回复 待解决
HarmonyOS 软键盘弹出控制与检测
13浏览 • 1回复 待解决
HarmonyOS 软键盘弹出后又突然消失
20浏览 • 1回复 待解决
HarmonyOS dialog和软键盘
48浏览 • 1回复 待解决