【发布时间】:2017-11-17 00:49:16
【问题描述】:
我有一个覆盖OnKeyDown 事件的View。我可以得到 Key Code 和 KeyEvent,但我似乎遗漏了一些东西。
让我解释一下。对于非美国键盘布局,我得到的键码是错误的。例如,当我按下 西班牙语键盘 中的 ñ 键时,我希望收到一个“ñ”字母,但我却得到一个 Keycode.AltLeft 作为键码。
我如何得到真正的信?
另一个有问题的情况是重音字符:当我按 ´ 键和 o 键时,我不应该收到两个事件,而只能收到一个带有字母 ó 的事件。
【问题讨论】:
-
“我希望收到一封“ñ”信——所有语言的所有字符都没有
KEYCODE_值。当你callgetUnicodeChar()on theKeyEvent时,你会得到什么?“当我按下´ 键和 o 键,我不应该收到两个事件”——你为什么这么认为?毕竟,the documentation forgetDeadChar()似乎不同意你的观点。 -
"当你在 KeyEvent 上调用 getUnicodeChar() 时,你会得到什么?"我得到一个 0(零)
-
好的,你是对的 :) 我刚刚测试过,' 键不会触发 KeyPress 事件。它仅在之后按下“o”时触发。但是你提到的 getUnicodeChar 我得到了 111 而不是 243(“ó”的 Unicode)
标签: android keyboard internationalization android-input-method