安卓课件第六章.android事件处理_第1页
安卓课件第六章.android事件处理_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、求知若渴 求真教育第六章. Android事件处理android学习目标:事件处理机制键盘事件处理触摸事件处理第六章. Android事件处理事件处理机制基于的事件处理基于回调事件处理处理键盘事件android触碰消息传递机制触摸消息事件分发(分发机制在自定义View时详细说明)学员作业课程内容:事件处理机制不管是桌面应用还是应用程序,面对最多的就是用户,经常需要处理的就是用户动作也就是需要为用户的动作提供响应,这种为用户动作提供响应的机制就是事件处理。Android提供了强大的事件处理机制,包括两套事件处理机制:基于的事件处理基于回调的事件处理基于的事件处理基于的事件处理是一种更“面象”的事

2、件处理,主要涉及如下三个对象。EventSource(事件源):事件发生的场所,通常就是各个组件,例如窗口、按钮、菜单等Event(事件):事件封装了界面组件上发生的特定事情,通常是一次用户操作,如果程序需要获得界面组件上所发生事件的相关信息,一般通过Event对象来取得EventListener(事件应。器):负责事件源所发生的事件,并对各种事件作出相应的响基于回调事件处理从代码的实现的角度来看,基于回调的事件处理模型更加简单。如果说事件制是一种委托式的事件处理,那么回调机制恰好与之相于基于回调机制的事件处理模型来说,事件源与事件器是的。为了使用回调机制类处理GUI组件上所发生的事件,需要为

3、该组件提供对应的事件处理方法-而Java又是一种静态语言,无法为某个对象动态的添加方法,因此只能继承GUI组件类,并重写该组件类的事件处理方法来实现。处理键盘事件ANDROID设备上包含了一些物理按键ANDROID中,控件在处理物理按键事件时,提供的回调方法有onKeyUp(),onKeyDown()和onKeyLongPress(),比如处理音量键,返回键等Overridepublic void onBackPressed() super.onBackPressed();.android触碰消息传递机制用户的每次触碰(onClick,onLongClick)都是由一个ACTION_DOWN+

4、n个 ACTION_MOVE+1个ACTION_UP组成的,用户触碰必先有个ACTION_DOWN响应,用户触碰结束必然会有个ACTION_UP。(当然如果在途中被,就可能不会有了!)那么View是如何分发消息和消息呢?触摸消息publiconTouchEvent(MotionEvent event)./参数event为屏幕触摸事件封装类的对象,其中封装了该事件的所有信息。在Activity中,可以重写onBackPressed()方法来处理返回键,如两次按键退出./例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸屏幕时被创建。./该方法的返回值机理与键盘响应事件的相同,同样是当

5、已经完整地处理了该事件且不希望其他回调方法再次处理时返回true,否则返回false。.使用getX()和getY()方法获取触摸位置使用getAction()方法获取触摸动作,下面列出常用的动作常量MotionEvent对象常见的动作常量:public public public public public publicpublics s s s s ssic ic ic ic ic icicfinal final final final final finalfinalACT ACT ACT ACT ACT ACTACTON_DOWN ON_UP ON_MOVE ON_CANCEL ON_

6、OUTS DEON_PO NTER_DOWNON_PO NTER_UP=0;单点触摸动作;单点触摸离开动作 2;触摸点移动动作3;触摸动作取消4;触摸动作超出边界5;多点触摸动作6;多点离开动作.事件分发(分发机制在自定义View时详细说明)View及其子类都会有的两个方法:publicent publicdispatchTouchEvent(MotionEvent ev)这个方法用来分发TouchEv.onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent特殊的View子类ViewGroup则还有一个方法:publichEventon nterceptTouchEvent(MotionEvent ev) 这个方法用来Touc分发dispatchTouchEvent 收到触碰,则向最外层的View传递消息,再向子层的View分发onnterceptTouchEvent返回true表示要消息,不要再向子View传递。./这里的子View不是继承关系,而是包容关系。/返回false则表示不消息,可以继续向下一层级的View传递消息。/子View将可以dispatchTouchEvent 收到触碰消息再分发消息消息处理onTouchEvent 处理事件,了消息,或者是最后一个收到消息的View调用此方法来处理事件。/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论