最近在因为一个项目需要开发一个自定义键盘功能,实现接管系统键盘输入的目的,网络上很多朋友都分享了实现的原理和代码,很感谢分享,从中学习到了很多。
功能基本上实现了,但是,在界面和光标显示和处理
上总是不能十分满意。这里遇到了两个问题,一个是按键字符的显示问题,一个是输入框中的光标显示和定位的问题。
1. 按键字符的显示问题
出现这个问题的原因是我们用eclipse new 出一个android工程的时候,系统帮我们生成了一个androidmanifest.xml文件
里面 Application节点上默认加上了android:theme="@style/AppTheme" 属性,这样的话,背景色就和按键文字的样色一样,让我们无法看清按键显示的字符。把这个属性去除,既可解决问题。
2. 输入框中的光标显示和定位的问题
这个问题需要调用系统的隐藏函数实现。
if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下
edit1.setInputType(InputType.TYPE_NULL);
} else {
act.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);