Android 捕获组合键
android中捕获组合键
http://blog.csdn.net/wenlibin1985/article/details/5579359
Android组合键
http://www.eoeandroid.com/thread-162824-1-1.html
Sample Code:
//Android监听组合键 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. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
onClickView();
}
@Override
protected 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;
@Override
public 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);
}
}
Android 捕获组合键的更多相关文章
- C++添加热键和捕获组合键
一.热键注册 步骤一:声明一个全局量int hotkeyId=1: 步骤二:窗体创建的时候注册: int result= RegisterHotKey(this->GetHWND(), hotk ...
- C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)
1. 首先将窗口属性KeyPreview设为true,如果属性对话框中找不到,就直接在代码里添加: 2. 添加KeyPress / KeyDown事件: 1.KeyPress 和KeyDown .Ke ...
- [转]Delphi : keydown与keypress的区别,组合键
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDoubl ...
- Delphi : keydown与keypress的区别,组合键
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDoubl ...
- js简单的设置快捷键,hotkeys捕获键盘键和组合键的输入
设置快捷键 这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb). hotkeys on Githubhotkeys预览 创建 您将需要在您的系 ...
- android中返回键捕获处理
在android平台上捕获Back键事件,主要用来处理返回的相关逻辑,下列几种方法都可以捕获,如下所示: 1.获取按钮按下事件,兼容android 1.0到android 2.1,重写onKeyDow ...
- Hotkeys.js 2.0.2 发布,捕获键盘输入和输入的组合键快捷键,它没有依赖
这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...
- Hotkeys.js 2.0.2 发布,JS 网页快捷键设置,捕获键盘输入和输入的组合键快捷键,它没有依赖
这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...
- Windows Server 2008取消登录前的Ctrl+Alt+Delete组合键操作
前言: 在Windows Server 2008服务器中,为了防止人们登录服务器时错误的将账户和密码输入其他地方导致信息泄漏,所以在我们登录Windows Server 2008服务器操作系统时会要求 ...
随机推荐
- thymeleaf 使用javascript定义数组报错
js中免不了的要用的数组,一维的二维的三维的 但是当用到thymeleaf作为模版时候会有一些坑,导致数组不能用 org.thymeleaf.exceptions.TemplateProcessing ...
- Gitlab CI-2.CI流程
参考文档: GitLab Documentation:https://docs.gitlab.com/ce/ Installation and Configuration using omnibus ...
- 从Web抓取信息
来源:python编程快速上手——Al Sweigart webbrowser:是 Python 自带的,打开浏览器获取指定页面. requests:从因特网上下载文件和网页. Beautiful S ...
- 机器人平台框架Yarp - Yet another robot platform
简介 ROS有强大和易用的特性,用的人很多,目前已经推出2.0版本,有相关的官网和论坛.然而其缺点也比较明显. 只能基于Ubuntu系统,且一个ROS版本只能对应一个具体的Ubuntu版本 通信 ...
- Scrum立会报告+燃尽图(Final阶段第三次)
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2481 项目地址:https://coding.net/u/wuyy694 ...
- 【探路者】final贡献分配
[探路者]组成员及各位博客地址. 1蔺依铭:http://www.cnblogs.com/linym762/ 2张恩聚:http://www.cnblogs.com/zej87/ 3米赫:http: ...
- 2018软工实践—Beta冲刺(4)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Beta 冲鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调组内工作 完成软件开发技术文稿 展示GitHub当日代码/文档签入 ...
- Codeforces Round #284 (Div. 1) C. Array and Operations 二分图最大匹配
题目链接: http://codeforces.com/problemset/problem/498/C C. Array and Operations time limit per test1 se ...
- Objective-C UIWebView添加脚视图
- (void)addObserverForWebViewContentSize{ [self.webView.scrollView addObserver:self forKeyPath: cont ...
- Enterprise Library 1.1 参考源码索引
http://www.projky.com/entlib/1.1/Microsoft/Practices/EnterpriseLibrary/Caching/BackgroundScheduler.c ...