HarmonyOS鸿蒙Next中收起软键盘的常用方法有哪些?

HarmonyOS鸿蒙Next中收起软键盘的常用方法有哪些?

4 回复

方案一:使输入控件失焦

参考clearFocus

this.getUIContext().getFocusController().clearFocus();

方案二:调用软键盘隐藏接口

参考hideSoftKeyboard:

import { BusinessError } from '@kit.BasicServicesKit';

inputMethodController.hideSoftKeyboard((err: BusinessError) => {
  if (!err) {
    console.info('Succeeded in hiding softKeyboard.');
  } else {
    console.error(`Failed to hide softKeyboard: ${JSON.stringify(err)}`);
  }
})

方案三:结束输入会话

参考stopInputSession,该接口需要编辑框与输入法绑定时才能调用,即点击编辑控件后,才可调用该接口结束输入会话:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  inputMethodController.stopInputSession((err: BusinessError, result: boolean) => {
    if (err) {
      console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
      return;
    }
    if (result) {
      console.info('Succeeded in stopping inputSession.');
    } else {
      console.error('Failed to stopInputSession.');
    }
  });
} catch (err) {
  console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
}

更多关于HarmonyOS鸿蒙Next中收起软键盘的常用方法有哪些?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


import { inputMethod } from ‘@kit.IMEKit’;

$inputMethod.getController().stopInputSession();

在HarmonyOS鸿蒙Next中收起软键盘的常用方法:

  1. 使用hideSoftKeyboard()方法:
import { inputMethod } from '@ohos.inputmethod';
inputMethod.getInputMethodController().hideSoftKeyboard();
  1. 通过失去焦点收起: 调用当前获焦组件的loseFocus()方法。

  2. 使用全局触摸事件: 在页面根组件设置onTouch事件触发收起操作。

  3. 导航返回时自动收起: 系统默认会在页面返回时自动收起键盘。

注意:以上方法需根据具体场景选择使用。

在HarmonyOS Next中收起软键盘的常用方法包括:

  1. 使用InputMethodController
let inputMethodController = inputMethod.getController();
inputMethodController.hideSoftKeyboard();
  1. 通过失去焦点方式: 在输入框组件上调用blur()方法使其失去焦点,键盘会自动收起。

  2. 全局点击事件监听: 在页面布局添加点击事件,点击非输入区域时收起键盘。

  3. 使用系统返回键: 监听系统返回键事件,在返回时先收起键盘。

  4. ScrollView滚动时收起: 在ScrollView的滚动事件中触发键盘收起。

注意:不同场景下可根据需求选择最合适的方式,InputMethodController是最直接的控制方法。

回到顶部