输入法开发 随手记

官方文档地址

创建步骤

  1. 创建Service。创建一个继承自InputMethodService的服务,在Manifest中配置服务
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!-- Declares the input method service -->
    <service android:name="FastInputIME"
    android:label="@string/fast_input_label"
    android:permission="android.permission.BIND_INPUT_METHOD">
    <intent-filter>
    <action android:name="android.view.InputMethod" />
    </intent-filter>
    <meta-data android:name="android.view.im"
    android:resource="@xml/method" />
    </service>

其中label是用于设置-语言和输入法-键盘和输入法界面 显示输入法名称截图
如图这里Label的值是“输入法服务Label”
resource

  1. 隐藏键盘:hideWindow();
    删除字符:inputConnection.deleteSurroundingText(10000,0);第一个参数是删除的字符数量,一般设置为1,表示删除一个字符。如果要删除许多字符那就设置一个极大的数,即使大于当前文本数量也不会报错的,这样就可以一键清除数据。

进入勾选输入法选择界面:

1
2
3
Intent intent = new Intent();
intent.setAction("android.settings.INPUT_METHOD_SETTINGS");
startActivity(intent);

进入切换输入法界面:

1
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showInputMethodPicker();

InputMethodService各方法的生命周期