【问题标题】:Xamarin | Android | Custom Keyboard Android.Views.KeyCodeXamarin |安卓 |自定义键盘 Android.Views.KeyCode
【发布时间】:2018-08-14 23:18:18
【问题描述】:

我正在为 Xamarin Android 应用程序创建自定义键盘。我让它工作,我的听众接收输入。我的问题是参数 Android.Views.Keycode。此枚举没有所有可能的键。如果 KeyEvent 是使用 MetaKeyStates.ShiftOn 创建的,我发现其中一些会生成正确的击键。但即便如此,我还没有找到 {} 键的正确组合。对于哪个键或键/MetaState 组合映射到退格键、Next、Done 等似乎也没有明确的答案。

我还没有找到显示哪个 Keyode 与所需的 MetaState 将生成哪些击键的文档。是否存在此类文档?有没有人有一个详尽的例子来说明哪些键码和哪些元状态创建了哪些字符?

另外,就我的键盘而言,!和 ?字符将与普通文本一起出现在屏幕上。我是否需要为它们使用自定义键码,以便区分它们与具有相同键码但没有转移状态的角色之间的区别?

【问题讨论】:

    标签: android xamarin keyboard keycode


    【解决方案1】:

    为什么要使用键码?这些用于硬件按钮。软件键盘通常使用 InputConnection.commitText 并完全跳过键码。

    下一步、完成等是操作按钮。这是对 InputConnection-performEditorAction 的另一个调用。

    删除一般由 InputConenction.deleteSurroundingText 完成。

    Shifts 通常是一种内部状态,与任何键码无关。

    基本上,你做的每件事都是错误的。这是android实现,我假设xamarin有它的包装器。 https://developer.android.com/reference/android/view/inputmethod/InputConnection

    【讨论】:

    • 在 Xamarin 中,当您设置键盘时,它使用 KeyboardView.IOnKeyboardActionListener 并且 OnKey 方法接受 Android.Views.Keycode。如果有更好的方法通过 Xamarin 实现它,我是开放的,但据我发现这是 KeyboardView 的 Xamarin 实现。
    猜你喜欢
    • 2013-06-18
    • 2016-12-10
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2012-10-08
    相关资源
    最近更新 更多