`
gty509
  • 浏览: 54633 次
  • 性别: Icon_minigender_1
  • 来自: Bangkok
文章分类
社区版块
存档分类
最新评论

关于android的输入法框架(imf)

阅读更多
温故而知新,先看看网上已有的相关材料。
http://android-developers.blogspot.com/2009/04/creating-input-method.html
这篇文章的基本点有几个。
第一、两个view 对象:input view和canidates view。
input view 一般就是一个键盘,canidates view就是在键盘上面根据用户输入,给用户选择提示的。

第二、两种向应用送文本的方法。一个是send key, 一个是直接改变游标附近的值。一般的输入法都是用第二种居多。

其中重点中的重点是:链接应用与输入法的对象是叫InputConnection的接口。输入法不直接与应用的视图进行通信,而是通过InputConnection这座桥梁。输入法要获取要修改的字符串,要获取游标的信息是通过它,输入法要改变游标附近的字符也是通过这个桥梁。

在sdk里面有一个叫SoftKeyBoard,是一个比较简单的输入法的实现,非常有用。然后sdk源代码中的TextView,EditableInputConnection也非常实用。

总结:
1、要实现一个输入法:定制自己的input view和canidates view这两个界面,调用inputConnection接口来送出文本。
2、要实现一个能够与应用输入法的视,你需要在视图中实现onCreateInputConnection.然后你要为自己的视图定制合适的InputConnection实现。主要实现里面的commitText,getEditable等方法。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics