• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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-->