我们可能经常在机顶盒之类的开发的时候,由于版权问题或出于满足需求的原因,需要自定义一套输入法。
如果从头一步步开发,显然不大现实。
网上能提供的有两套比较成熟的输入法,一套是AOSP(菜鸟可能不知道,这里注明:Android Open-Source Project)提供的原生输入法,一套是OpenWnn输入法。这两个都可以在github或者https://code.google.com/搜寻得到。(其实好像还有一个台湾同胞写的开源的输入法。不过没用过,有时间再做研究。https://code.google.com/p/limeime/)AOSP还是去pull一整套的android源码。反正以后也要用。
从以上推荐的开源来源,或多或少会有一些bug,稍作修改便可运行。
以下介绍的都是在openwnn的源码下进行的修改。
如果只是布局的修改的话,推荐更改values下的xml文件。
通过xml的键值去find in path便可获取对应事件响应的代码。
主要在mMainView上进行的添加输入法的View。你可以做很多DIY。
要注意的是,由于调用的.so库,所以部分类不能更换包名。(为了省事)显然,你可以重新编译生成你所需的so库也可以。
效果图如下:
附上OpenWnn的源码地址