android实体按键的监听
2015-08-26 17:50
483 查看
android开发的过程中,除了页面的导航控制外,还常常需要监听三个键home, back, menu。
通常按下home键后,activity调用onstop()后退出。按下back键后,调用finish()方法, 销毁当前的页面。而按下menu则跳出菜单项,可以自定义。
重写activity中的onKeyDown(), 然后判断第一个参数keyCode的类型,可以判断按键类型。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键
XXXXX
return false;
} else if(keyCode == KeyEvent.KEYCODE_MENU) {
XXXXXX
return false;
} else if(keyCode == KeyEvent.KEYCODE_HOME) {
XXXXXX
return false;
}
return super.onKeyDown(keyCode, event);
}
// 拦截/屏蔽系统Home键要加这个方法
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
通常按下home键后,activity调用onstop()后退出。按下back键后,调用finish()方法, 销毁当前的页面。而按下menu则跳出菜单项,可以自定义。
重写activity中的onKeyDown(), 然后判断第一个参数keyCode的类型,可以判断按键类型。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键
XXXXX
return false;
} else if(keyCode == KeyEvent.KEYCODE_MENU) {
XXXXXX
return false;
} else if(keyCode == KeyEvent.KEYCODE_HOME) {
XXXXXX
return false;
}
return super.onKeyDown(keyCode, event);
}
// 拦截/屏蔽系统Home键要加这个方法
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
相关文章推荐
- Android平台Overlay机制
- Error:Android Source Generator: [sdk] Android SDK is not specified.
- Android LayoutInflater的到View后丢失LayoutParam信息的问题
- Android LruCache
- Android应用程序用户界面(一)
- android知识点1- 清除缓存代码
- 安卓adapter子项动态设置控件宽度以及扩展动画
- Android的Configuration
- Android App 升级 实现逻辑
- Android-使用DOM解析与生成XML文件
- Android下的USB Host介绍和开发
- Android ListView+CheckBox+EditText注意事项
- Android Service与Activity之间通信
- Android基础总结——进程优先级及提高优先级的方法(Service尽量不死之法)
- android执行移动动画后按钮点击错位问题解决
- Android资源访问机制—获取Resources对象
- android去掉顶部标题栏
- Android framework系统默认设置修改
- Android三句代码使用沉浸式状态栏
- Android 获取指定城市的天气实况