Android KeyEvent和keycode的区别

4

有什么区别吗? public boolean onKeyDown(int keyCode,KeyEvent event) 这里的参数是keyCode,表示用户按下的按钮,但是KeyEvent是什么呢?


http://developer.android.com/reference/android/view/KeyEvent.Callback.html#onKeyDown%28int,%20android.view.KeyEvent%29 - Droidman
3个回答

6

KeyEvent:每个按键都由一系列键事件描述,键事件通常伴随着一个键代码。

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

例如,如果您想检测到 "ENTER" 键事件:

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

4

请阅读文档

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


4

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

  • ACTION_DOWN 表示按键已经按下但未释放
  • ACTION_UP 表示按键刚刚释放

用法:

keyEvent.getAction() == KeyEvent.ACTION_DOWN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接