Android---onKeyDown事件
来源:互联网 发布:国企数据分析师待遇 编辑:程序博客网 时间:2024/06/06 13:04
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // keyCode 事件码 Log.e(tag,"onKeyDown: " + keyCode); if(keyCode == KeyEvent.KEYCODE_MENU){ if(AnimationUtils.runningAnimationCount > 0){ // 当前有动画正在执行, 取消当前事件 return true; } // 如果按下的是菜单按钮 if(isLevel1Display){ long delay = 0; // 隐藏三级菜单 if(isLevel3Display){ AnimationUtils.rotateOutAnim(rl_level3, 0); isLevel3Display = false; delay += 200; } // 隐藏二级菜单 if(isLevel2Display){ AnimationUtils.rotateOutAnim(rl_level2, delay); isLevel2Display = false; delay += 200; } // 隐藏一级菜单 AnimationUtils.rotateOutAnim(rl_level1, delay); }else { // 顺次转进来 AnimationUtils.rotateInAnim(rl_level1, 0); AnimationUtils.rotateInAnim(rl_level2, 200); AnimationUtils.rotateInAnim(rl_level3, 400); isLevel3Display = true; isLevel2Display = true; } isLevel1Display = !isLevel1Display; return true;// 消费了当前事件 } return super.onKeyDown(keyCode, event); }
1)onKeyDown方法,该方法是接口KeyEvent.Callback中的抽象方法,所有的View全部实现了该接口并重写了该方法,该方法用来捕捉手机键盘被按下的事件。
2)参数keyCode,该参数指的是被按下的键的键盘码,手机键盘中每个按钮都会有其对应的键盘码,在应用程序都是通过键盘码才知道用户按下的是哪个键。
3)当用户按下按键时,系统会自动将事件封装成KeyEvent对象供应用程序使用。 按键事件KeyEvent 按键事件有多种常量类型,比如 KEYCODE_BACK
4)返回值,该方法的返回值为一个boolean类型的变量,当返回true时,表示已经完整地处理了这个事件,并不希望其他的回调方法再次进行处理,而当返回false时,表示并没有完全处理完该事件,更希望其他回调方法继续对其进行处理,例如Activity中的回调方法。
在监听物理键时,可以用onKeyDown方法,Activity已经自己有KeyEvent.Callback这个接口了,因为项目有使用Fragment,Fragment没有这个接口,事实上,即使你自己implements了KeyEvent.Callback,它自己也不会调用(暂时不知道为什么)。但是FragmentActivity是有这个接口的,所以我们只要在Activity中实现相关逻辑即可。
如果你需要在特定的Fragment监听的话可以结合使用FragmentManager.getBackStackEntryCount()。
0 0
- android onkeydown 事件
- Android onKeydown 事件
- Android系统onKeyDown事件
- Android---onKeyDown事件
- onkeydown事件
- onkeydown事件
- Android dispatchKeyEvent和onKeyDown事件的处理
- android中onKeyDown()事件的分析
- android 中OnKeyDown的事件获取顺序
- android onKeydown
- Android onKeyDown
- Android onKeydown
- android onKeydown
- android onKeydown
- android:onKeyDown
- android:onKeyDown
- android:onKeyDown
- Android中OnkeyDown事件和OnBackPressed方法区别、兼容、使用
- java实现排序(转)
- 基于Volley的GsonRequest
- PLSQL-Developer工具
- python 测试框架doctest
- 撒打算发
- Android---onKeyDown事件
- JPA与EJB3的关系
- keil 5.18 将一个数强制转换成short数据进行比较时出错
- Android EventBus 内部机制介绍
- PLSQL Definer Authority and Invoker Authority 2
- contentResolver获取内容提供者内容数据
- android子线程操作ui
- 使用rufus制作win10系统安装盘
- PHP实现四种基本排序算法