天天看点

Android 软键盘相关

Android2.2的Phone界面会有软键盘弹出!

原因是

把这两行去掉并加上一句mDigits.setInputType(InputType.TYPE_NULL);就行了!

Phone那个拨号界面对应的是Contacts下的TwelveKeyDialer.java

本身采用的是

keyCode对应的去取对应的值!这个值对应的在MultiTapKeyListener.java中有定义!

根据这个MultiTapKeyListener.java的注释

说明实际是由TextKeyListener.java来控制的!

KeyListener 接口对应的返回实例在这里类型有两种!

private static native int getKeyboardType_native(int ptr);返回NUMERIC数值类型或ALPHA希腊字母类型或PREDICTIVE这个返回的实际就是空的类型.

最后这个值是怎么取出来的列!已返回QwertyKeyListener.getInstance(mAutoText, mAutoCap);为例。

在QwertyKeyListener的onKeyDown方法中的

键布局映射文件通常放在/system/usr/keylayout和/data/usr/keylayout

对于每一个键盘设备xxx,设置系统属性android.keylayout.xxx,如果没有为自己的硬件设备创建一个特定的设备,Android将去读/system/usr/keylayout/qwerty.kl这个配置文件。

继续阅读