android输入法(5)–详细介绍

输入法的调用:
由于只是向EditText中输入内容,所以使用android自带的方法,具体代码应该在android源码的TextView中:

按键的拦截:
我的拦截方式是当输入法界面显示的时候,拦截所有按键,包括home(之所以拦截home,是因为我们的home键是由双击操作产生的。而在使用输入法时,很容易误操作双击,导致前面输入的内容都白输了,结果用户很伤心)。具体就是设置一个mIsMainViewShow的boolean型标志,分别在onWindowShown和onWindowHide中设置为true、false。在onKeyUp和onKeyDown中判断是否拦截按键。为什么要拦截按键呢?问的好。因为我的输入法不是为触屏设计的,而是为一个只有五向键的设备设计的。

不同输入模式的选择:
主要是只对于不同输入框,可能有的输入框需要是输入法显示的时候默认显示数字键盘,有的需要拼音,有的需要字母等等。这些都是在onStartInput中做的。

0 条评论
发表一条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。