1# @ohos.inputMethodEngine (输入法服务)(系统接口) 2<!--Kit: IME Kit--> 3<!--Subsystem: MiscServices--> 4<!--Owner: @illybyy--> 5<!--Designer: @andeszhang--> 6<!--Tester: @murphy1984--> 7<!--Adviser: @zhang_yixin13--> 8 9本模块为系统输入法应用提供管理能力,包括创建软键盘窗口、插入/删除字符、选中文本、监听物理键盘按键事件等。 10 11> **说明:** 12> 13> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14 15## 导入模块 16 17```ts 18import { inputMethodEngine } from '@kit.IMEKit'; 19``` 20 21## SizeUpdateCallback<sup>14+</sup> 22 23type SizeUpdateCallback = (size: window.Size, keyboardArea: KeyboardArea) => void 24 25当输入法面板大小变化时触发的回调。 26 27**系统能力:** SystemCapability.MiscServices.InputMethodFramework 28 29**系统接口:** 此接口为系统接口。 30 31**参数:** 32 33| 参数名 | 类型 | 必填 | 说明 | 34| ------------ | ---------------------------------------------------- | ---- | -------------------------------- | 35| size | [window.Size](../apis-arkui/arkts-apis-window-i.md#size7) | 是 | 当前面板大小。 | 36| keyboardArea | [KeyboardArea](./js-apis-inputmethodengine.md#keyboardarea15) | 是 | 当前面板中可作为键盘区域的大小。 | 37 38## Panel<sup>10+</sup> 39 40下列API均需使用[createPanel](./js-apis-inputmethodengine.md#createpanel10)获取到Panel实例后,通过实例调用。 41 42### on('sizeUpdate')<sup>14+</sup> 43 44on(type: 'sizeUpdate', callback: SizeUpdateCallback): void 45 46监听当前面板大小变化。使用callback异步回调。 47 48> **说明:** 49> 50> 仅用于SOFT_KEYBOARD类型,状态为FLG_FIXED或FLG_FLOATING的面板。输入法通过[adjustPanelRect](./js-apis-inputmethodengine.md#adjustpanelrect15)等接口对面板大小进行调节时,系统会根据一定规则校验计算出最终的数值(例如:超出屏幕等场景)。输入法应用可通过该回调获取的真实面板大小,完成最终的面板布局刷新。 51 52**系统能力:** SystemCapability.MiscServices.InputMethodFramework 53 54**系统接口:** 此接口为系统接口。 55 56**参数:** 57 58| 参数名 | 类型 | 必填 | 说明 | 59| -------- | ------------------------------------------- | ---- | ------------------------------------------------------ | 60| type | string | 是 | 监听当前面板的大小是否产生变化,固定值为'sizeUpdate'。 | 61| callback | [SizeUpdateCallback](#sizeupdatecallback14) | 是 | 回调函数。返回当前软键盘面板的大小,包含宽度和高度值。 | 62 63**示例:** 64 65```ts 66import { window } from '@kit.ArkUI'; 67 68panel.on('sizeUpdate', (windowSize: window.Size, keyboardArea: inputMethodEngine.KeyboardArea) => { 69 console.info(`panel size changed, windowSize: ${windowSize.width}, ${windowSize.height}, ` + 70 `keyboardArea: ${keyboardArea.top}, ${keyboardArea.bottom}, ${keyboardArea.left}, ${keyboardArea.right}`); 71}); 72``` 73 74### off('sizeUpdate')<sup>14+</sup> 75 76off(type: 'sizeUpdate', callback?: SizeUpdateCallback): void 77 78取消监听当前面板大小变化。使用callback异步回调。 79 80> **说明:** 81> 82> 仅用于SOFT_KEYBOARD类型,状态为FLG_FIXED或FLG_FLOATING的面板。输入法通过[adjustPanelRect](./js-apis-inputmethodengine.md#adjustpanelrect15)等接口对面板大小进行调节时,系统会根据一定规则校验计算出最终的数值(例如:超出屏幕等场景)。输入法应用可通过该回调获取的真实面板大小,完成最终的面板布局刷新。 83 84**系统能力:** SystemCapability.MiscServices.InputMethodFramework 85 86**系统接口:** 此接口为系统接口。 87 88**参数:** 89 90| 参数名 | 类型 | 必填 | 说明 | 91| -------- | ------------------------------------------- | ---- | -------------------------------------------------------- | 92| type | string | 是 | 监听当前面板的大小是否产生变化,固定取值为'sizeUpdate'。 | 93| callback | [SizeUpdateCallback](#sizeupdatecallback14) | 否 | 回调函数。返回当前软键盘面板的大小,包含宽度和高度值。 | 94 95**示例:** 96 97```ts 98import { window } from '@kit.ArkUI'; 99 100panel.off('sizeUpdate', (windowSize: window.Size, keyboardArea: inputMethodEngine.KeyboardArea) => { 101 console.info(`panel size changed, width: ${windowSize.width}, height: ${windowSize.height}`); 102}); 103``` 104## FluidLightMode<sup>20+</sup> 105 106枚举,输入法流光模式。 107 108**系统能力:** SystemCapability.MiscServices.InputMethodFramework 109 110**系统接口:** 此接口为系统接口。 111 112| 名称 | 值 | 说明 | 113| ------------ | -- | ------------------ | 114| NONE | 0 | 不使用流光模式。 | 115| BACKGROUND_FLUID_LIGHT | 1 | 背景流光。 | 116 117## EditorAttribute 118 119编辑框属性值。 120 121**系统能力:** SystemCapability.MiscServices.InputMethodFramework 122 123**系统接口:** 此接口为系统接口。 124 125| 名称 | 类型 | 只读 | 可选 | 说明 | 126| ------------ | -------- | ---- | ---- | ------------------ | 127| fluidLightMode<sup>20+</sup> | [FluidLightMode](#fluidlightmode20) | 是 | 是 | 流光模式。如果没有设置或设置非法值,默认不使用流光模式。<br>该属性仅系统应用可以使用。| 128 129## ImmersiveEffect<sup>20+</sup> 130 131沉浸效果。 132 133**系统能力:** SystemCapability.MiscServices.InputMethodFramework 134 135**系统接口:** 此接口为系统接口。 136 137| 名称 | 类型 | 只读 | 可选 | 说明 | 138| ------ | ------------------------------------ | ---- | ---- | -------------- | 139| fluidLightMode | [FluidLightMode](#fluidlightmode20) | 否 | 是 | 流光模式,如果不填充,则默认为NONE。<br>该属性仅系统应用可以使用。 | 140<!--no_check-->