android 区分按键长按及短按
16lz
2021-01-26
**
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); }
更多相关文章
- 【Android】如何方便地将代码抛到主线程执行
- 下载 编译 Android源代码 和 Android(安卓)kernel源代码
- 用git下载Android自带app的源代码
- Android(安卓)Okhttp主流程源码分析
- Android在代码中查看系统版本
- Android(安卓)adb启动任意app的几种方式
- Android十六进制透明度代码
- Android(安卓)4.1 Netd详细分析(三)代码分析1
- android拨打电话和发送短信核心代码