@ohos.inputMethod.Panel模块提供输入法面板属性的数据定义,支持配置面板的类型和显示状态,适用于需要精细化控制输入法面板显示行为的场景。
本模块是输入法框架的面板属性数据模块,定义了PanelInfo接口以及PanelType、PanelFlag两个枚举类型,用于描述输入法面板的类型(软键盘或状态栏)和显示状态(固定态、悬浮态、候选词态)。
本模块提供输入法面板属性的配置能力。输入法应用可通过PanelInfo指定面板类型和状态类型,实现不同形态的面板展示——固定态软键盘(默认,固定在屏幕底部)、悬浮态软键盘(可自由拖动位置)、候选词态面板(独立窗口展示候选词,由开发者自行控制显隐)。
当输入法应用需要创建和配置输入法面板时使用本模块。典型场景包括:输入法应用创建默认固定态软键盘面板、输入法应用创建悬浮态键盘以支持自由拖动、输入法应用创建候选词面板以展示输入候选。
本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
数据类型需与@ohos.inputMethodEngine模块的API组合使用——在InputMethodAbility.createPanel()创建面板时传入PanelInfo指定面板类型和状态。典型使用流程:构造PanelInfo → 通过createPanel传入 → 系统据此创建对应类型的面板。不同PanelFlag值对应不同的面板行为:固定态面板固定在屏幕底部、悬浮态面板可自由拖动、候选词态面板由开发者自行控制显隐。
本模块定义了以下关键Interface和枚举类型:
| Interface/类型 | 说明 |
|---|---|
| PanelInfo | 输入法面板属性信息接口,包含type(面板类型)和flag(面板状态类型,默认FLAG_FIXED)两个属性,用于描述一个输入法面板的类型和显示形态。 |
| PanelType | 输入法面板类型枚举,定义面板的类别:SOFT_KEYBOARD(软键盘,值为0)、STATUS_BAR(状态栏,值为1)。 |
| PanelFlag | 输入法面板状态类型枚举,定义面板的显示状态:FLAG_FIXED(固定态,值为0)、FLAG_FLOATING(悬浮态,值为1)、FLAG_CANDIDATE(候选词态,值为2)。候选词态面板的显隐需由开发者自行控制。 |
本模块为纯数据定义模块,PanelInfo作为面板属性配置需与其他模块的API组合使用。典型组合为:在@ohos.inputMethodEngine模块中,通过InputMethodAbility.createPanel()创建面板时传入PanelInfo指定面板类型和状态。
// 以下为阐述调用逻辑的伪代码
import { PanelType, PanelFlag } from '@kit.IMEKit';
// 1. 配置固定态软键盘面板属性
let softKeyboardFixed = {
type: PanelType.SOFT_KEYBOARD,
flag: PanelFlag.FLAG_FIXED
};
// 2. 配置悬浮态软键盘面板属性
let softKeyboardFloating = {
type: PanelType.SOFT_KEYBOARD,
flag: PanelFlag.FLAG_FLOATING
};
// 3. 配置候选词态面板属性
let candidatePanel = {
type: PanelType.SOFT_KEYBOARD,
flag: PanelFlag.FLAG_CANDIDATE
};
FLAG_CANDIDATE(候选词态)面板的显示和隐藏不受系统控制,开发者需根据应用场景自行管理候选词面板的显隐时机。
输入法面板属性信息。用于描述输入法面板的类型和显示状态,在创建输入法面板时作为配置参数传入。
系统能力: SystemCapability.MiscServices.InputMethodFramework
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | PanelType | 否 | 否 | 输入法面板类型。决定面板是软键盘还是状态栏。不填写时默认为SOFT_KEYBOARD(0)。 |
| flag | PanelFlag | 否 | 是 | 输入法面板状态类型。 - 默认值为FLAG_FIXED(0),表示固定态面板类型。 - 当前仅用于描述软键盘类型的面板的状态,对STATUS_BAR类型面板设置不产生实际效果。 - 不同状态类型下面板的显隐行为不同:FLAG_FIXED和FLAG_FLOATING由系统控制显隐,FLAG_CANDIDATE由开发者自行控制显隐。 |
PanelInfo参数使用建议:
type参数:
flag参数:
输入法面板类型枚举。定义面板的类别,决定面板是软键盘还是状态栏。
系统能力: SystemCapability.MiscServices.InputMethodFramework
| 名称 | 值 | 说明 | 使用场景 |
|---|---|---|---|
| SOFT_KEYBOARD | 0 | 软键盘类型。 | 适用于需要键盘输入交互的场景,是输入法应用的主要面板类型。大多数输入法应用至少需要创建一个软键盘面板。 |
| STATUS_BAR | 1 | 状态栏类型。 | 适用于需要在屏幕顶部显示输入法状态信息(如当前输入语言、输入模式等)的场景。通常作为辅助面板与软键盘面板配合使用。 |
PanelType使用建议:
输入法面板状态类型枚举。定义面板的显示状态形态,决定面板是固定态、悬浮态还是候选词态。
目前仅用于SOFT_KEYBOARD类型的面板。对STATUS_BAR类型的面板设置PanelFlag不产生实际效果。
系统能力: SystemCapability.MiscServices.InputMethodFramework
| 名称 | 值 | 说明 | 使用场景 | 使用后效果 |
|---|---|---|---|---|
| FLAG_FIXED | 0 | 固定态面板类型。 | 适用于大多数默认输入场景,面板固定在屏幕底部。 | 面板固定在屏幕底部显示,系统控制面板的显隐。 |
| FLAG_FLOATING | 1 | 悬浮态面板类型。 | 适用于需要自由调整面板位置的场景(如横屏输入、多窗口环境、平板设备)。 | 面板为悬浮窗口,可自由拖动位置,系统控制面板的显隐。 |
| FLAG_CANDIDATE | 2 | 候选词态面板类型。 - 当输入面板为候选词态时,面板为显示用户输入候选词的窗口。 - 系统不会主动控制候选词态面板的显示和隐藏,需要开发者根据应用场景自行控制候选词态面板的显示和隐藏。 | 适用于需要独立展示候选词的场景,如搜索联想词、输入建议列表等。 | 面板为独立的候选词窗口,开发者需通过Panel.show()和Panel.hide()自行控制显隐。系统不主动控制其显隐。 |
PanelFlag使用建议: