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

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

         键盘效果图如下

                                     

                            

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

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

[javascript]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1.    public boolean onEvaluateFullscreenMode() {  
  2.     // TODO Auto-generated method stub  
  3.     // 设置输入法在横屏模式下不全屏  
  4.     return false;  
  5. }  
     经过多次测试 Android 系统管理View的焦点的 顺序是这样的, 
[javascript]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. IF( 输入法显示)  
  2.        焦点由输入法控制   
  3. ElSE  
  4.     由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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值