# 切换输入法应用 输入法框架服务提供了切换输入法应用的API,支持切换输入法、切换输入法和子类型、切换当前输入法的子类型。 > **说明:** > > 1. 以下接口的使用仅允许在当前输入法应用中调用。 > > 2. 本示例假设已经在输入法应用中执行,如果实现一个输入法应用,请参考[实现一个输入法应用](./inputmethod-application-guide.md)。 ## 切换当前输入法子类型 1. 在已完成一个输入法应用的基础上,当输入法应用是当前输入法时,在输入法应用中使用[switchCurrentInputMethodSubtype](../reference/apis-ime-kit/js-apis-inputmethod.md#inputmethodswitchcurrentinputmethodsubtype9)接口,传入当前输入法的子类型[InputMethodSubtype](../reference/apis-ime-kit/js-apis-inputmethod-subtype.md#inputmethodsubtype)作为参数即可切换当前输入法子类型。 ```ts import { InputMethodSubtype, inputMethod } from '@kit.IMEKit'; export class KeyboardController { async switchCurrentInputMethodSubtype() { let subTypes = await inputMethod.getSetting().listCurrentInputMethodSubtype(); // 获取当前输入法的所有子类型 let currentSubType = inputMethod.getCurrentInputMethodSubtype(); // 获取当前输入法当前的子类型 for(let i=0;i { if(inputMethodSubtype.id == 'InputMethodExtAbility') { panel.setUiContent('pages/Index'); // 假设在输入法应用中此时Panel已经在onCreate流程中创建 } if(inputMethodSubtype.id == 'InputMethodExtAbility1') { panel.setUiContent('pages/Index1'); // 假设在输入法应用中此时Panel已经在onCreate流程中创建 } }); } } ``` ## 切换输入法应用 在已完成一个输入法应用的基础上,当输入法应用是当前输入法时,在输入法应用中使用[switchInputMethod](../reference/apis-ime-kit/js-apis-inputmethod.md#inputmethodswitchinputmethod9)接口,传入目标输入法的[InputMethodProperty](../reference/apis-ime-kit/js-apis-inputmethod.md#inputmethodproperty8)信息,即可切换输入法到目标输入法应用。 ```ts import { inputMethod } from '@kit.IMEKit'; export class KeyboardController { async switchInputMethod(){ let inputMethods = await inputMethod.getSetting().getInputMethods(true); // 获取已使能的输入法列表 let currentInputMethod = inputMethod.getCurrentInputMethod(); // 获取当前输入法 for(let i=0;i