关于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等方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值