安卓基础知识输入事件
Input Events
Input Events
在Android中有多种方法可以用来拦截用户与程序的交互事件。如果想处理用户界面中触发的事件,可以通过从用户交互的View捕获事件来实现。View这个类提供了这些方法。
在用来构成布局的各种View类中,我们可以看到有几个用于UI事件的公共回调方法。当这些对象中有用户行为产生时,Android框架就会调用相应的回调方法。例如,当一个view(比如一个按钮Button)被触摸了,那么它的onTouchEvent()方法就会被调用。但是,为了拦截到这个事件,你必须扩展这个类并重写这些方法。然而,为了处理这样一个事件就扩展每一个View对象是不实际的。这就是为什么View类还提供了包含一些很方便定义的回调方法的嵌套接口的原因。这些叫做事件监听器(event listener)接口就是你拦截UI交互事件的入口。
虽然多数情况下使用事件监听器来监听用户交互,但是有时候为了创建一个自定义的组件,也需要扩展一个View类。比如你可能想要扩展一个Button类来使它更好用。这种情况下,你就可以使用事件处理器(event handler)来定义默认的事件行为。(计算机学校/)
事件监听器
一个事件监听器是View类中一个包含单一回调方法的接口。当注册了监听器的View发生了跟监听器对应的UI交互事件时,Android框架就会调用这些回调方法。
事件监听器接口中包含了以下回调方法:
onClick()
。当用户触摸了一个对象(在触摸模式下),或者通过导航键或轨迹球使它获得焦点后再按下兼容"enter"的按键或是按下轨迹球,这个方法被调用。
onLongClick()
。当用户在一个对象上触摸并按住不放(触摸模式下),或者通过导航键或轨迹球使它获得焦点后再按下兼容"enter"的按键或是轨迹球并按住不放(一秒钟时间),这个方法被调用。
onFocusChange()
。当用户使用导航键或者轨迹球导航到一个对象或离开一个对象时,这个方法被调用。
onKey()
。当用户让焦点落在一个对象上后按下或释放设备上的一个键时,这个方法被调用。
onTouch()
,当用户执行一个触屏事件的动作时,包括按下动作、释放动作,或者任何在屏幕上的手势(当然必须在对象所在的区域内),这个方法被调用。
onCreateContextMenu()
。当一个上下文菜单被创建(长按后的结果)时,这个方法被调用。关于上下文菜单的更多讨论,请参考关于 菜单- Menus的开发指南。
这些方法是各自接口的唯一成员。如果要定义这些方法来处理事件,就要在Activity中实现这些嵌套接口,或者定义一个匿名内部类。然后,…Listener()方法。(例如,以实现的OnClickListener作为参数调用setOnClickListene
安卓基础知识输入事件 来自淘豆网m.daumloan.com转载请标明出处.