Android 自定义输入法实现(基于OpenWnn开源输入法)

我们可能经常在机顶盒之类的开发的时候,由于版权问题或出于满足需求的原因,需要自定义一套输入法。

如果从头一步步开发,显然不大现实。

网上能提供的有两套比较成熟的输入法,一套是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库也可以。

效果图如下:

image

image

 

附上OpenWnn的源码地址

https://code.google.com/p/openwnn-legacy/

posted @ 2013-12-16 17:12  Culm  阅读(6024)  评论(1编辑  收藏  举报