按照官方文档样例通过InputMethodController订阅软键盘相关事件,回调无法被触发
官方样例如下:
try {
inputMethodController.on('sendKeyboardStatus', (keyboardStatus: inputMethod.KeyboardStatus) => {
console.log(`Succeeded in subscribing sendKeyboardStatus, keyboardStatus: ${keyboardStatus}`);
});
} catch(err) {
console.error(`Failed to subscribe sendKeyboardStatus: ${JSON.stringify(err)}`);
}
软键盘显示/隐藏时控制台无任何输出。
可选择以下任一方案:
方案一:
通过输入法框架模块(@ohos.inputMethod)来监听软键盘状态。
用InputMethodController实例的on(‘sendKeyboardStatus’)方法来监听,直接在inputMethodController.on(‘sendKeyboardStatus’, callback)的callback中处理。详细信息请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inputmethod-0000001774281542\#ZH-CN\_TOPIC\_0000001774281542\_\_onsendkeyboardstatus10
方案二:
通过窗口模块(@ohos.window)来监听软键盘状态。
用Window实例的on(‘keyboardHeightChange’)方法来监听软键盘高度,可以判断软键盘状态。
详细信息请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window-0000001820880785\#ZH-CN\_TOPIC\_0000001820880785\_\_onkeyboardheightchange7
示例代码如下: