# @ohos.inputMethodList (输入法切换列表控件) 本模块主要面向系统应用和输入法应用,提供输入法切换列表控件,控件中显示默认输入法子类型和三方输入法应用列表,对于默认输入法应用,提供模式切换入口。 > **说明:** > > 该组件从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 导入模块 ```ts import { inputMethod } from '@kit.IMEKit'; ``` ## 子组件 无 ## 属性 不支持[通用属性](../apis-arkui/arkui-ts/ts-universal-attributes-size.md) ## InputMethodListDialog InputMethodListDialog({controller: CustomDialogController, patternOptions?: PatternOptions}) 输入法切换列表弹窗。 **装饰器类型:**@CustomDialog **系统能力:** SystemCapability.MiscServices.InputMethodFramework **参数:** | 名称 | 参数类型 | 必填 | 装饰器类型 | 说明 | | -------- | -------- | -------- | -------- | -------- | | controller | [CustomDialogController](../apis-arkui/arkui-ts/ts-methods-custom-dialog-box.md#customdialogcontroller) | 是 | - | 输入法切换列表弹窗控制器。 | | patternOptions | [PatternOptions](#patternoptions) | 否 | - | 输入法模式选项(仅默认输入法支持)。 | ## PatternOptions **系统能力:** SystemCapability.MiscServices.InputMethodFramework | 名称 | 类型 | 只读 | 可选 | 说明 | | -------- | -------- | -------- | -------- | -------- | | defaultSelected11+ | number | 否 | 是 | 非必填。默认选择的模式。 | | patterns11+ | Array<[Pattern](#pattern)> | 否 | 否 | 必填。模式选项的资源。 | | action9+ | function | 否 | 否 | 必填。模式选项改变时的回调。 | ## Pattern **系统能力:** SystemCapability.MiscServices.InputMethodFramework | 名称 | 类型 | 只读 | 可选 | 说明 | | -------- | -------- | -------- | -------- | -------- | | icon11+ | [Resource](../apis-arkui/arkui-ts/ts-types.md#resource) | 否 | 否 | 必填。默认图片资源。 | | selectedIcon11+ | [Resource](../apis-arkui/arkui-ts/ts-types.md#resource) | 否 | 否 | 必填。选中时的图片资源。 | ## 事件 不支持[通用事件](../apis-arkui/arkui-ts/ts-universal-events-click.md) ## 示例 ```ts import { InputMethodListDialog, Pattern, PatternOptions } from '@kit.IMEKit'; @Entry // 设置组件 @Component export struct settingsItem { @State defaultPattern: number = 1; private oneHandAction: PatternOptions = { defaultSelected: this.defaultPattern, patterns: [ { icon: $r('app.media.hand_icon'), selectedIcon: $r('app.media.hand_icon_selected') }, { icon: $r('app.media.hand_icon1'), selectedIcon: $r('app.media.hand_icon_selected1') }, { icon: $r('app.media.hand_icon2'), selectedIcon: $r('app.media.hand_icon_selected2'), }], action:(index: number)=>{ console.info(`pattern is changed, current is ${index}`); this.defaultPattern = index; } }; private listController: CustomDialogController = new CustomDialogController({ builder: InputMethodListDialog({ patternOptions: this.oneHandAction }), customStyle: true, maskColor: '#00000000' }); build() { Column() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Text("输入法切换列表").fontSize(20) } } .width("13%") .id('bindInputMethod') .onClick((event?: ClickEvent) => { this.listController.open(); }) } } ```