【问题标题】:Difference between Android KeyEvent and keycodeAndroid KeyEvent 和 keycode 的区别
【发布时间】:2014-09-25 05:37:44
【问题描述】:

有什么区别? public boolean onKeyDown (int keyCode, KeyEvent 事件) 参数是keyCode,按钮,用户按下,但是那个KeyEvent是什么?

【问题讨论】:

标签: android keyevent keycode


【解决方案1】:

阅读docs

用于报告键和按钮事件的对象。 每个按键都由一系列按键事件来描述。按键以带有 ACTION_DOWN 的按键事件开始。如果该键保持足够长的时间以使其重复,则初始向下跟随带有 ACTION_DOWN 和 getRepeatCount() 的非零值的附加键事件。最后一个按键事件是按键向上的 ACTION_UP。如果按键被取消,按键事件将设置 FLAG_CANCELED 标志。

【讨论】:

    【解决方案2】:

    KeyEvent:每次按键都由一系列按键事件来描述,按键事件一般都伴随着一个键码。

    KeyCode:是定义事件的常量,定义在KeyEvent类内部。

    例如,如果您想检测 KeyEvent "ENTER":

     @Override
      public boolean onKeyDown( int keyCode, KeyEvent event ) {
        if( keyCode == KeyEvent.KEYCODE_ENTER) {
          //Do something...
          return true; 
        }
        return super.onKeyDown( keyCode, event );
      }
    

    【讨论】:

      【解决方案3】:

      KeyEvent 可用于指定详细动作,例如:

      • ACTION_DOWN该键已按下但未释放
      • ACTION_UP密钥刚刚被释放

      用法:

      keyEvent.getAction() == KeyEvent.ACTION_DOWN
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-19
        • 1970-01-01
        • 2013-01-20
        • 1970-01-01
        • 2018-09-26
        • 2013-02-22
        • 1970-01-01
        • 2012-11-15
        相关资源
        最近更新 更多