目录

@ohos.inputMethod.Panel (输入法面板)

@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(候选词态)面板的显示和隐藏不受系统控制,开发者需根据应用场景自行管理候选词面板的显隐时机。

导入模块

import { PanelInfo, PanelType, PanelFlag } from '@kit.IMEKit';

PanelInfo

输入法面板属性信息。用于描述输入法面板的类型和显示状态,在创建输入法面板时作为配置参数传入。

系统能力: SystemCapability.MiscServices.InputMethodFramework

名称 类型 只读 可选 说明
type PanelType 否 否 输入法面板类型。决定面板是软键盘还是状态栏。不填写时默认为SOFT_KEYBOARD(0)。
flag PanelFlag 否 是

输入法面板状态类型。

- 默认值为FLAG_FIXED(0),表示固定态面板类型。

- 当前仅用于描述软键盘类型的面板的状态,对STATUS_BAR类型面板设置不产生实际效果。

- 不同状态类型下面板的显隐行为不同:FLAG_FIXED和FLAG_FLOATING由系统控制显隐,FLAG_CANDIDATE由开发者自行控制显隐。

PanelInfo参数使用建议:

PanelType

输入法面板类型枚举。定义面板的类别,决定面板是软键盘还是状态栏。

系统能力: SystemCapability.MiscServices.InputMethodFramework

名称 值 说明 使用场景
SOFT_KEYBOARD 0 软键盘类型。 适用于需要键盘输入交互的场景,是输入法应用的主要面板类型。大多数输入法应用至少需要创建一个软键盘面板。
STATUS_BAR 1 状态栏类型。 适用于需要在屏幕顶部显示输入法状态信息(如当前输入语言、输入模式等)的场景。通常作为辅助面板与软键盘面板配合使用。

PanelType使用建议:

PanelFlag

输入法面板状态类型枚举。定义面板的显示状态形态,决定面板是固定态、悬浮态还是候选词态。

目前仅用于SOFT_KEYBOARD类型的面板。对STATUS_BAR类型的面板设置PanelFlag不产生实际效果。

系统能力: SystemCapability.MiscServices.InputMethodFramework

名称 值 说明 使用场景 使用后效果
FLAG_FIXED 0 固定态面板类型。 适用于大多数默认输入场景,面板固定在屏幕底部。 面板固定在屏幕底部显示,系统控制面板的显隐。
FLAG_FLOATING 1 悬浮态面板类型。 适用于需要自由调整面板位置的场景(如横屏输入、多窗口环境、平板设备)。 面板为悬浮窗口,可自由拖动位置,系统控制面板的显隐。
FLAG_CANDIDATE 2

候选词态面板类型。

- 当输入面板为候选词态时,面板为显示用户输入候选词的窗口。

- 系统不会主动控制候选词态面板的显示和隐藏,需要开发者根据应用场景自行控制候选词态面板的显示和隐藏。

适用于需要独立展示候选词的场景,如搜索联想词、输入建议列表等。 面板为独立的候选词窗口,开发者需通过Panel.show()和Panel.hide()自行控制显隐。系统不主动控制其显隐。

PanelFlag使用建议: