【问题标题】:Android KeyEvent handling - KeyCode or GetUnicodeChar?Android KeyEvent 处理 - KeyCode 或 GetUnicodeChar?
【发布时间】:2011-05-19 09:28:52
【问题描述】:

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

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

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

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

我的问题已经解决了——但是有没有一种可接受的方式来进行字符检查?大多数人只是不需要 ALT 符号,还是大多数人使用的是跨设备标准的软件键盘?没有内置的 Unicode 字符枚举表(我知道,无论如何),所以这也使得代码有点难看。只是好奇!

【问题讨论】:

    标签: android keylistener keyevent


    【解决方案1】:

    我相信你是正确的,检测哪个符号/替代键被按下的唯一方法是查看 unicode 字符。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2012-11-15
      相关资源
      最近更新 更多