在android中重写父类的onkeydown方法,就可以更方便的操作了。

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){//需要处理}return false;}

长按事件

@Overridepublic boolean onKeyLongPress(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_CALL) {        // a long press of the call key.        // do our work, returning true to consume it. by        // returning true, the framework knows an action has        // been performed on the long press, so will set the        // canceled flag for the following up event.        return true;    }    return super.onKeyLongPress(keyCode, event);}

@Overridepublic boolean onKeyUp(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_CALL && event.isTracking()            && !event.isCanceled()) {        // if the call key is being released, AND we are tracking        // it from an initial key down, AND it is not canceled,        // then handle it.        return true;    }    return super.onKeyUp(keyCode, event);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_0) {        // this tells the framework to start tracking for        // a long press and eventual key up. it will only        // do so if this is the first down (not a repeat).        event.startTracking();        return true;    }    return super.onKeyDown(keyCode, event);}@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {        if (event.getAction() == KeyEvent.ACTION_DOWN                && event.getRepeatCount() == 0) {            // Tell the framework to start tracking this event.            getKeyDispatcherState().startTracking(event, this);            return true;        } else if (event.getAction() == KeyEvent.ACTION_UP) {            getKeyDispatcherState().handleUpEvent(event);            if (event.isTracking() && !event.isCanceled()) {                // DO BACK ACTION HERE                return true;            }        }        return super.dispatchKeyEvent(event);    } else {        return super.dispatchKeyEvent(event);    }}

更多相关文章

  1. Android为按钮添加相应事件的代码
  2. Android学习07-----事件处理(4)键盘事件和触摸事件
  3. Android——按钮的事件监听
  4. Android 给自己的类加个事件
  5. Android Touch事件传递机制具体解释 上
  6. android 事件处理(三)

随机推荐

  1. Android Private Libraries 和 Dependenc
  2. (亲测有效)Android SDK Manager国内无法
  3. 【android基础】之Android返回键处理(事
  4. Android之XUtils的框架总结
  5. eclipse下android的sdk配置问题
  6. 我是如何自学Android,资料分享(2015 版)
  7. Android中的Shape美化
  8. Android(安卓)TextView文字横向自动滚动(
  9. Android 技术专题系列之三 -- 编译(build)
  10. Android 相对布局:RelativeLayout