Android KeyEvent处理 - KeyCode还是GetUnicodeChar?

时间:2010-12-02 20:56:52

标签: android keylistener keyevent

我一直在编写一款主要由硬件键盘输入驱动的Android应用。我正在添加软键盘支持,但我还没到那里。但我离题了......

最初我正在检查传入我的OnKey函数的整数keyCode值对照KeyEvent类中的枚举。够简单......

但我需要知道用户是否按下了会产生>的键组合。符号。因此,我检查了是否按下了ALT并且传入了X keyCode ...但事实证明,不同手机上的不同按键会产生>符号。

现在,我正在检查KeyEvent的getUnicodeChar方法的值与Unicode字符的已知值。

我的问题已经解决了 - 但是有一种可接受的方式来进行角色检查吗?大多数人不需要ALT符号,或者大多数人使用的是跨设备标准的软件键盘?没有内置的Unicode字符枚举表(我知道,无论如何),这样代码也会变得更加丑陋。好奇!

1 个答案:

答案 0 :(得分:0)

我相信你是正确的,因为检测哪个符号/替换键的唯一方法是查看unicode字符。

通常,人们只对主键感兴趣,因此KeyCode就足够了。

您不能依赖于使用的任何特定IME(软键盘)。另请注意,文本窗口小部件通过InputConnection访问通过IME输入的文本,因此它通常不会像硬件键盘那样使用KeyEvent。