为输入文本框或其他视图创建一个输入法,需要继承InputMethodService类。InputMethodService提供了很多的输入法的基础实现,管理状态的条款、输入法的可见度、与当前可见的Activity沟通.
一个好的出发点是SDK里提供的SoftKeyboard样例,也可以修改样例代码去建立你自己的输入法。
输入法像应用和服务一样被打包。在AndroidManifest.xml文件中,把输入法作为一个服务(Service)来声明,附带一些适当的intent过滤器和一些相关的元数据: -----------------------------------------------------------------------------------------------------
<manifest xmlns:andro, 1);
六.拦截硬件按键消息
尽管输入法窗口没有foucs,但是它最先收到硬件的按键消息,如果需要处理这些硬件按键消息,你只需要
重写InputMethodService.onKeyDown() 与InputMethodService.onKeyUp(),如果你不想处理某个按键,记得调
用super.onKey* 。
七.其他注意点
1.提供一个用户可以直接从当前输入法进行相关输入法设置的方式。
2.提供一个用户可以切换不同输入法的方式。
3.让输入法界面尽快的弹出,资源或者耗时长的操作可以稍后加载。
4.当输入法窗口被隐藏的时候,大块的内存分配最好尽快释放
5.确保输入法能包含最常用的字符。
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
一个好的出发点是SDK里提供的SoftKeyboard样例,也可以修改样例代码去建立你自己的输入法。
输入法像应用和服务一样被打包。在AndroidManifest.xml文件中,把输入法作为一个服务(Service)来声明,附带一些适当的intent过滤器和一些相关的元数据: -----------------------------------------------------------------------------------------------------
<manifest xmlns:andro, 1);
六.拦截硬件按键消息
尽管输入法窗口没有foucs,但是它最先收到硬件的按键消息,如果需要处理这些硬件按键消息,你只需要
重写InputMethodService.onKeyDown() 与InputMethodService.onKeyUp(),如果你不想处理某个按键,记得调
用super.onKey* 。
七.其他注意点
1.提供一个用户可以直接从当前输入法进行相关输入法设置的方式。
2.提供一个用户可以切换不同输入法的方式。
3.让输入法界面尽快的弹出,资源或者耗时长的操作可以稍后加载。
4.当输入法窗口被隐藏的时候,大块的内存分配最好尽快释放
5.确保输入法能包含最常用的字符。
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------