**

android 区分按键长按及短按

**

正常长按时会一直走onkeydown的,所以区分时最好还是用onkeyup来区分;
注意 event.startTracking(); //只有执行了这行代码才会调用onKeyLongPress的;

 private boolean shortPress = false;    @Override    public boolean onKeyLongPress(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_3) {            shortPress = false;            //长按要执行的代码            Log.e("onKeyLongPress", "onKeyLongPress");            return true;        }        return false;    }    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_3) {            if (event.getAction() == KeyEvent.ACTION_DOWN) {                event.startTracking(); //只有执行了这行代码才会调用onKeyLongPress的;                if (event.getRepeatCount() == 0) {                    shortPress = true;                }                return true;            }        }        return super.onKeyDown(keyCode, event);    }    @Override    public boolean onKeyUp(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_3) {            if (shortPress) {                //短按要执行的代码                Log.e("onKeyUp", "onKeyUp");            }            shortPress = false;            return true;        }        return super.onKeyUp(keyCode, event);    }

更多相关文章

  1. 【Android】如何方便地将代码抛到主线程执行
  2. 下载 编译 Android源代码 和 Android(安卓)kernel源代码
  3. 用git下载Android自带app的源代码
  4. Android(安卓)Okhttp主流程源码分析
  5. Android在代码中查看系统版本
  6. Android(安卓)adb启动任意app的几种方式
  7. Android十六进制透明度代码
  8. Android(安卓)4.1 Netd详细分析(三)代码分析1
  9. android拨打电话和发送短信核心代码

随机推荐

  1. 安卓第一课
  2. 详解Android四种基本布局
  3. Android(安卓)RecyclerView实现Gallery、
  4. Android闹钟的实现!
  5. Unity播放视频(pc,android,ios)
  6. android statusbar 的修改
  7. Android(安卓)学习资料
  8. android checkbox自定义样式
  9. Android中Message传递参数实例
  10. Android(安卓)Studio中修改gradle插件版