未完结
一:事件分类
安卓中事件分为:
- 按键事件(KeyEvent)
- 触摸事件(TouchEvent)
- 点击事件(clickEvent)
二:处理机制分类
- 基于监听接口的事件处理
- 基于回调的事件处理
- Handler消息传递机制
三:事件传递与处理遵循的规则
1、如果界面控件设置了事件监听器,则事件将先传递给事件监听器
2、如果界面控件没有设置事件监听器,界面事件则会直接传递给界面控件的其他
事件处理函数
3、即使界面控件设置了事件监听器,界面事件也可以再次传递给其他事件处理函数
是否继续传递事件给其他处理函数是由事件监听器处理函数的返回值决定的
4、如果监听器处理函数的返回值为true,表示该事件已经完成处理过程,不需要其他处理函数参与处理过程,这样事件就不会再继续进行传递
5、如果监听器处理函数的返回值为false,则表示该事件没有完成处理过程,或需要其他处理函数捕获到该事件,事件会被传递给其他的事件处理函数
四:按键事件处理
按键事件主要着重View和Activity。
按键事件的处理如下:
1)默认情况下,如果没有View获得焦点,事件将传递给Activity处理。
2)如果View获得焦点,事件首先传递到View的回调方法中。View回调方法返回false,事件继续传递到Activity处理。反之,事件不会继续传 递。
使用View.SetFocusable(true)设置可以获得焦点。
public boolean onKeyDown(int keyCode, KeyEvent msg) 来处理键盘按下事件
public boolean onKeyUp(int keyCode, KeyEvent msg) 来处理键盘抬起事件