Android开发与实践第8章 Android事件处理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



启动或唤醒设备,将界面切换到锁定的屏幕 返回到前一个界面 显示当前应用的可用菜单 返回到HOME界面 在当前应用中启动搜索 启动相机 控制当前上下文音量,例如音乐播放器、手机铃声、通 话音量等
方向键
KEYCODE_VOLUME_ DOWN KEYCODE_DPAD_CE NTER KEYCODE_DPAD_UP KEYCODE_DPAD_DO WN KEYCODE_DPAD_LE FT KEYCODE_DPAD_RI GHT
public class ForbiddenBackActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); 设置页面布局 } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; //屏蔽后退键 } return super.onKeyDown(keyCode, event); } }
某些设备中包含的方向键,用于移动光标等
Android中的控件在处理物理按键事件时,提供的回调方法有onKeyUp()、 onKeyDown()和onKeyLongPress()。
【例8-1】 在Eclipse中创建Android项目,主要实现屏蔽物理键盘中的后 退键的功能。(实例位置:光盘\MR\源码\第8章\8-1) 编写ForbiddenBackActivity类,重写onCreate()方法来加载布局文件,重 写onKeyDown()方法来拦截用户单击后退按钮事件,代码如下:
super.onCreate(savedInstanceState); setContentView(R.layout.main); // 设置页面布局 Button button = (Button) findViewById(R.id.button); // 获得按钮控件 button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 处理用户短时间单击按钮事件 Toast.makeText(TouchEventActivity.this, getText(R.string.short_click), Toast.LENGTH_SHORT).show(); } }); button.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View v) { // 处理用户 长时间单击按钮事件 Toast.makeText(TouchEventActivity.this, getText(R.string.long_click), Toast.LENGTH_SHORT).show(); return true; } }); } }
8.2
处理键盘事件
对于一个标准的Android设备,包含了多个能够触发事件的物理按键,各 个可用的物理按键能够触发的事件说明如表8-1所示。 表8-1 Android设备可用物理按键
电源键 后退键 菜单键 HOME键 搜索键 相机键 音量键 UP
物理பைடு நூலகம் 键
KeyEvent
KEYCODE_POWER KEYCODE_BACK KEYCODE_MENU KEYCODE_HOME KEYCODE_SEARCH KEYCODE_CAMERA KEYCODE_VOLUME_
第8章 Android事件处理
本章要求: Android事件处理的基本概念 如何处理键盘事件 如何处理触摸事件 创建并导出手势 如何识别手势
第8章 Android事件处理
8.1 8.2 8.3 8.4 8.5 事件处理概述 处理键盘事件 处理触摸事件 手势的创建与识别 综合实例——使用手势输入数字
//
运行程序,显示如图8-1所示的界面,这时再单击后退键,可以看到应用程 序并未退出。
图8-1 屏蔽物理按键
8.3
处理触摸事件
目前主流的手机都提供了大的屏幕,从而取代了外置键盘,对于平板 电脑也没有提供键盘,这些设备都需要通过触摸来操作,下面就介绍一下 Android中如何实现触摸事件的处理。 对于触摸屏上的按钮,可以使用OnClickListener和OnLongClickListener 两个监听器分别处理用户短时间单击和长时间单击(按住按钮一段时间) 事件。下面通过一个实例演示这两个方法的使用。 【例8-2】 在Eclipse中创建Android项目,主要实现的功能是:当用户短 时间单击按钮和长时间单击按钮时,显示不同的提示信息。(实例位置: 光盘\MR\源码\第8章\8-2) 编写ButtonTouchEventActivity类,它继承自Activity类。重写 onCreate()方法来加载布局文件,使用findViewById()方法,获得布局文 件中定义的按钮,为其增加了OnClickListener和OnLongClickListener两 个事件监听器,代码如下:
public class ButtonTouchEventActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {
第8章 Android事件处理
用户在使用手机、平板电脑时,总是通过各种操作来与软件进行交互, 比较常见的方式包括键盘操作、触摸操作、手势等。在Android中,这些操 作都转换为对应的事件进行处理,本章将对Android中的事件处理进行介绍。
8.1
事件处理概述
现代的图形界面应用程序,一般都是通过事件来实现人机交互的,事件 就是用户对于图形界面的操作。在Android手机和平板电脑上,主要包括键 盘事件和触摸事件两大类,其中,键盘事件包括按下、弹起等,而触摸事件 包括按下、弹起、滑动、双击等。 在Android控件中,提供了事件处理的相关方法。例如在View类中,提供了 onTouchEvent()方法来处理触摸事件。但是,仅有重写这个方法才能完成事 件处理显然并不实用,这种方式主要适用于重写控件的场景。除了 onTouchEvent()方法,还可以使用setOnTouchListener()为控件设置监听器 来处理触摸事件,这在日常开发中更加常用。
相关文档
最新文档