WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之处理 UI 事件 阅读

Android SDK 开发之处理 UI 事件

 2010-03-23 04:14:00 来源:WEB开发网   
核心提示:处理UI事件在android上, 有多种方法获取用户与应用程序的交互信息. 当考虑UI内部的事件时, 我们的方法是抓取特定的与用户交互的View对象产生的事件.在你用来组成布局的View对象中,你可能会注意到一些用于处理UI事件的回调函数. 这些方法是被Android框架调用的. 例如,当一个View被按下时, 它的o

处理UI事件

android上, 有多种方法获取用户与应用程序的交互信息. 当考虑UI内部的事件时, 我们的方法是抓取特定的与用户交互的View对象产生的事件.

在你用来组成布局的View对象中,你可能会注意到一些用于处理UI事件的回调函数. 这些方法是被Android框架调用的. 例如,当一个View被按下时, 它的onTouchEvent()方法被调用. 但是,为了截获这个信息,你必须扩展这个类并改写这个方法. 而扩展每个View对象来处理这样的事件可能是不实际的. 这就是为什么View类还包含一组你可以更方便定义的嵌套接口. 这些接口被称为监听器, 它们是你用来抓取用户动作的利器.

虽然你可能更加常用事件监听器来监听用户动作, 有时候你可能确实希望通过扩展一个View类的方法来做这一点. 可能你希望扩展Button类来做一些巧妙的事情. 在这个情况下, 你能够使用时间处理器来定义该类的默认的事件行为.

Event Listeners 事件监听器

一个事件监听器是View类的一个接口. 该接口包含的方法会在View注册的事件监听器被触发时被Android调用.

在事件监听器中有下列方法:

* onClick() 位于View.OnClickListener中. 在用户触摸该对象,或者使用轨迹球等使该对象获得焦点, 并按下"enter"键或者按下轨迹球时被调用.

* onLongClick() 位于 View.OnLongClickListener中. 在用户按住该元素,或者按住轨迹球时调用.

* onFocusChange() 位于 View.OnFocusChangeListener中. 该对象获得或失去焦点时调用.

* onKey() 位于 View.OnKeyListener中. 在该对象获得焦点,并且按下一个键时调用.

* onTouch() View.OnTouchListener. 当用户在View对象的范围内进行一个触摸动作时. 例如按下,放开,或者任何的移动手势.

* onCreateContextMenu() View.OnCreateContextMenuListener. 当一个快捷菜单被显示时(当用户长按).

这些方法只是它们对应接口的唯一方法. 为了定义这些方法, 可以在你的Activity中实现这个接口, 也可以使用一个匿名类. 然后, 将实现该接口实例传给对应的View.set...Listener方法.

以OnClickListener为例:

// Create an anonymous implementation of OnClickListener

private OnClickListener mCorkyListener = new OnClickListener() {

public void onClick(View v) {

1 2 3 4  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接