Android输入法与自定义软键盘初探

来源:互联网 发布:思途旅游cms 编辑:程序博客网 时间:2024/05/10 04:32

          电视机顶盒项目需要用到键盘输入,众所周知,电视的遥控按键较少,无法满足输入的需求,如要输入英文、数字、符合组合的字母时。遥控器的按键就无法满足。基于以上需求,在网上查找了许多资料,和Google api sample 里面的softkeyboard后,终于完成了一个简单的键盘,并可以遥控控制键盘的输入。通过这几天对输入法这块代码的研究,做些总结方便日后查看。

         键盘效果图如下

                                     

                            

 1、关于输入法焦点问题。

       Android SoftKeyBoard 输入法默认在横屏模式下,会全屏显示,可以通过  onEvaluateFullscreenMode() 重载来控制。

    public boolean onEvaluateFullscreenMode() {// TODO Auto-generated method stub// 设置输入法在横屏模式下不全屏return false;}
     经过多次测试 Android 系统管理View的焦点的 顺序是这样的, 
IF( 输入法显示)       焦点由输入法控制 ElSE    由View获得焦点和ONKey的所有事件

    也就算说输入法的优先级高于View,可以在InputMethodService 重载onKeyDown()、onKeyUp()来控制key事件的传递。

   2、关于KeyBoardView 与KeyBoard。

          KeyBoard 键盘布局可以xml 文件产生,KeyBoardView继承了View ,可以当做View一样来使用它。KeyBoardView通过 .setKeyboard()方法设置键盘,即可将键盘放入View中。

                           


参考链接:        

在软键盘上绘制焦点并移动焦点》http://www.eoeandroid.com/blog-126933-105.html

《Android自定义软键盘的实现》 http://blog.csdn.net/hfsu0419/article/details/7924673


1 0
原创粉丝点击