package com.fuwei.action;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import android.widget.Toast;public class Main extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);   onClickView();}@Overrideprotected void onRestart() {   // TODO Auto-generated method stub   Toast.makeText(this, "Home", 1);   super.onRestart();}public void onClickView() {   TextView textView = (TextView) findViewById(R.id.linear);   textView.setOnClickListener(new OnClickListener() {    @Override    public void onClick(View v) {     v.setBackgroundColor(0xFF00FF00);    }   });}// @Override// public boolean onKeyDown(int keyCode, KeyEvent event) {// // TODO Auto-generated method stub// if(!event.isAltPressed()&&keyCode == KeyEvent.KEYCODE_A){// Toast.makeText(Main.this, "ALT + A", 0).show();// }// return super.onKeyDown(keyCode, event);// }// @Override// public boolean dispatchKeyEvent(KeyEvent event) {// // TODO Auto-generated method stub// //Alt Shift System 等键可以用is....判断是否为按下状态// if(event.isAltPressed()&&event.getKeyCode() == KeyEvent.KEYCODE_A){// Toast.makeText(Main.this, "ALT + A", 0).show();// }// return super.dispatchKeyEvent(event);// }boolean aIsDown = false;boolean qIsDown = false;@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {   // TODO Auto-generated method stub   // 判断普通按键   int keyCode = event.getKeyCode();   if (keyCode == KeyEvent.KEYCODE_A     && event.getAction() == KeyEvent.ACTION_DOWN) {    aIsDown = true;   } else if (keyCode == KeyEvent.KEYCODE_Q     && event.getAction() == KeyEvent.ACTION_DOWN) {    qIsDown = true;   }else if((keyCode == KeyEvent.KEYCODE_Q && !aIsDown)||(keyCode == KeyEvent.KEYCODE_A && !qIsDown)){    aIsDown = false;    qIsDown = false;   }else if (aIsDown     && qIsDown     && (keyCode == KeyEvent.KEYCODE_Q || keyCode == KeyEvent.KEYCODE_A)     && event.getAction() == KeyEvent.ACTION_UP) {    Toast.makeText(Main.this, "Q + A", 0).show();    aIsDown = false;    qIsDown = false;   }else{    aIsDown = false;    qIsDown = false;   }   return super.dispatchKeyEvent(event);}}

本文章在网上有很多,但是在监听组合键时都存在一些严重的bug,以上是本人经过修改后的代码

转自:http://blog.csdn.net/anzhu_111/article/details/6981552

更多相关文章

  1. Android(安卓)Studio 自带的侧滑布局设置
  2. Android(安卓)界面的横竖屏监听
  3. Android(安卓)onClick事件三种实现方法
  4. android 监听联系人数据库
  5. Android(安卓)UI控件详解-RadioGroup和RadioButton(单选框)
  6. Android中Preference的使用以及监听事件分析
  7. Android读取assets目录下所有文件
  8. android怎样在布局文件监听事假
  9. android 单选,复选按钮,以及toast

随机推荐

  1. Android的位置和地图
  2. android4.0 通过DHCP方式实现以太网连接
  3. android mk文件编写
  4. gallary滑动切换图片
  5. Android(安卓)launcher3布局和结构
  6. android核心基础(10)_apk安装过程
  7. android WebView(二)缩放
  8. Android实现两个数相加功能
  9. android日期格式
  10. Android5.1 SystemUI 启动流程