前面博主已经介绍了事件处理中的监听机制,现在开始,我们来看看基于回调的事件处理吧。
1.回调机制概述:
对于监听的事件处理模型来说,事件源和事件监听器是分离的,当事件源上发送特定事件之后,该事件交给事件监听器负责处理;
而对于基于回调的事件处理模型来说,事件源和事件监听器是统一的,当事件源发生特定事件之后,该事件还是由事件源本身负责处理的。
1)对比Android提供的这两种事件处理模型,会发现基于监听的事件处理模型更具优势:
基于监听的事件模型分工更明确,事件源、事件监听的两个类分开实现,隐刺具有更好的可维护性。
Android的事件处理机制保证基于监听的事件监听器会被优先触发。
2)为了实现回调机制的事件处理,Android为所有GUI组件提供了一些事件处理的回调方法,以View为例:
View:
boolean onKeyDown(int keyCode,KenyEvent enent):当用户在该组件上按下某个键时触发的方法。
boolean onKeyLongPress(int keyCode,KeyEvent event):当用户在该组件上长按某个按键时触发的方法。
boolean onKeyShortcut(int keyCode,KeyEvent event):当一个键盘快捷键事件触发时 触发的方法。
boolean onKeyUp(int keyCode,KeyEvent event):当用户在该组件上松开某个按键时触发的方法。
boolean onTouchEvent(MotionEvent event):当用户子在该组件上触发触摸屏事件时 触发的方法。
boolean onTrackballEvent(MotionEvent event):当用户在该组件上触发轨迹球屏

本文详细介绍了Android中基于回调的事件处理机制,包括回调机制概述,如事件源与事件处理的统一,以及与监听机制的对比。重点讲解了事件传播的过程,强调了回调方法的返回值在事件处理中的作用,并通过示例展示了如何自定义组件并重写回调方法来控制事件传播。最后提到了重写onTouchEvent方法响应触摸屏事件的方法。
最低0.47元/天 解锁文章
1342

被折叠的 条评论
为什么被折叠?



