【问题标题】:Android capture hardware keyboard event without edittext viewAndroid在没有edittext视图的情况下捕获硬件键盘事件
【发布时间】:2011-03-14 08:57:16
【问题描述】:

如何在不使用 EditText 字段的情况下捕获硬件键盘事件?

例如,在一个简单的活动中,屏幕上显示一个正方形,当在滑动键盘上按下“B”时,我想将其变为蓝色,当按下“G”时,将其变为绿色,等等。

我不需要颜色代码的帮助,只需要如何拦截按键

这与软键盘或虚拟键盘无关

【问题讨论】:

    标签: android keyboard hardware-interface


    【解决方案1】:

    Android 类通常提供事件处理程序,您可以在子类化它们时实现。 Activity 类具有以下事件处理程序:

    • onKeyDown(int keyCode, KeyEvent event)
    • onKeyLongPress(int keyCode, KeyEvent event)
    • onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
    • onKeyShortcut(int keyCode, KeyEvent event)
    • onKeyUp(int keyCode, KeyEvent event)

    此外,所有视图都有以下事件处理程序:

    • onKeyDown(int, KeyEvent)
    • onKeyUp(int, KeyEvent)

    我猜还有许多其他类对关键事件具有类似的事件处理程序,但这对于您的情况应该足够了。 KeyEvent 然后包含有关按下的键的信息,即键码。

    【讨论】:

      【解决方案2】:

      Activity 类已经实现 KeyEvent.CallBack 见here

      你只需要重写这些方法并实现你想要的所有事件

      【讨论】:

        猜你喜欢
        • 2017-10-21
        • 2010-11-08
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-01
        相关资源
        最近更新 更多