Android学习笔记之按键操作
我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件、触摸事件、传感器事件等来实现。
键盘是Android中主要的输入设备,对按键的响应的处理是响应之间在程序中使用键盘的核心内容。
键盘事件主要包括:
boolean onKeyDown(int keyCode,KeyEvent event)
在按键按下时调用
boolean onKeyUp(int keyCode,KeyEvent event)
在按键释放时调用
boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)
在多个事件连续时调用,用于按键重复,必须重载@Override实现
onTouchEvent(MotionEvent event)
触摸屏事件,当在触摸屏上有动作时调用
boolean onKeyLongPress(int keyCode, KeyEvent event)
当你长时间按时调用
我们只需要在我们实现的继承了 Activity 的类中 Override 这些方法即可。
以上按键事件响应方法的第一个参数,是值所按的键,比如你是按的 space、up还是down 等,而第二个参数,则是相应的事件。
- package xiaosi.key;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.widget.TextView;
- public class KeyActivity extends Activity {
- /** Called when the activity is first created. */
- private TextView text = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- text = (TextView)findViewById(R.id.text);
- }
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_CENTER:
- text.setText("Press \"center\" key");
- break;
- case KeyEvent.KEYCODE_DPAD_UP:
- text.setText("Press \"up\" key");
- break;
- case KeyEvent.KEYCODE_DPAD_DOWN:
- text.setText("Press \"down\" key");
- break;
- default:
- text.setText("Illegal key has been pressed");
- }
- return true;
- }
- }

点击
center键时
Android学习笔记之按键操作的更多相关文章
- Android学习笔记物理按键事件处理
常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...
- Android学习笔记_5_文件操作
1.Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. package com.example.servi ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- 【转】 Pro Android学习笔记(七四):HTTP服务(8):使用后台线程AsyncTask
目录(?)[-] 5秒超时异常 AsyncTask 实现AsyncTask抽象类 对AsyncTask的调用 在哪里运行 其他重要method 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注 ...
- 【转】 Pro Android学习笔记(七五):HTTP服务(9):DownloadManager
目录(?)[-] 小例子 保存在哪里下载文件信息设置和读取 查看下载状态和取消下载 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csd ...
- 【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart
目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Po ...
- 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET
目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...
- 【转】 Pro Android学习笔记(四二):Fragment(7):切换效果
目录(?)[-] 利用setTransition 利用setCustomAnimations 通过ObjectAnimator自定义动态效果 程序代码的编写 利用fragment transactio ...
随机推荐
- 方便查看线程状况的jsp页面
此方法来自深入理解java虚拟机一书,用作管理员页面,可以随时用浏览器查看线程堆栈 <%@ page language="java" import="java.ut ...
- 批处理实现添加java环境变量
作者:朱金灿 来源:http://blog.csdn.net/clever101 从网上搜了一些资料,再修改测试,终于通过了win7系统的测试.代码如下: @echo off rem 本批处理文件目的 ...
- ipad无法连接到app store怎么办
之前入手的air2提示无法连接到app store:你需要首先更新系统到最新的ios版本,去通用设置里面,有个update software, 点击即可,然后才能用apple id 联入,否选择提示连 ...
- linux下chm阅读器
推荐使用Okular这个软件,Okular是一个pdf阅读器,但是对chm文件支持很好.
- cogs 1500. 误差曲线
1500. 误差曲线 ★★ 输入文件:errorcurves.in 输出文件:errorcurves.out 评测插件时间限制:1 s 内存限制:256 MB [题目描述] Josep ...
- Extjs 4.2 设置buttontext为中文
能够在Ext.QuickTips.init();后增加例如以下代码: Ext.MessageBox.buttonText = { ok : "确定", cancel : " ...
- js---13 this call apply
//this:this可以写在js全剧环境中(全局环境中this是window对象),this可以写在函数中,可以写在对象中, function f(){ this.name = "asdf ...
- [BZOJ2143]飞飞侠 并查集优化最短路
链接 题解 首先很容易想到对每个点暴力跑Dijkstra,但是这样边数是 \(N^4\) 的,考虑优化 发现每次松弛的时候,都要把整个地图扫一遍,每个节点都要重复扫很多次,如果我们在一个点不会再被更新 ...
- Linux下MySQL导入导出数据库
linux下 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql# ...
- Elasticsearch之需要注意的问题(es和jdk版本)
(1)在使用java代码操作es集群的时候 要保证本地使用的es的版本和集群上es的版本保持一致. (2)保证集群中每个节点的JDK版本和es基本配置一致 这个很简单,不多说. (3)es集群中j ...