`
presses
  • 浏览: 119541 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

Handling UI Events/处理事件

UI 
阅读更多

一、View对像中有一堆事件回调接口。例如View.OnClickListener、View.OnLongClickListener……。你需要监听事件时,只需要把实现事件回调接口的实例传入view实例的setOnXXXListener即可。

 

二、事件是一个从最外层分发,然后下沉到目标view的过程。事件到达目标view时,是先调用自定义的事件处理器,再调用默认的事件处理器。如果你的事件处事器返回true,即事件的分发过程立即终止,默认事件处理器也不会被调用。

 

三、关于事件的其它接口。Activity.dispatchTouchEvent(MotionEvent):可以拦截所有的touch Event。ViewGroup.onInterceptTouchEvent(MotionEvent):许允ViewGroup去查看分发到view的事件。

 

四、touch mode。当用户通过方向键或轨迹球在界面中游走时,界面会自动让可操作控件获得焦点(高亮显视)。这样可以让用户知道哪里可以操作。然而,当用户直接使用触摸屏操作时,上面说的自动获取焦点(高亮显视)就没必要了。这种经过控件而不高亮显视控件的模式叫touch mode。

 

五、具有触摸功能的设备,一旦用户触碰到屏幕,设备立即进入touch mode。这里只有isFocusableInTouchMode()返回true的组件才会获得焦点(例如文字编辑类控件)。其余的控件只会触发onclick事件。

 

六、当用户点击方向键或轨迹球时,系统会退出touch mode,然后找一个最近的控件,让它获得焦点。

 

七、可以用view.isInTouchMode去判断系统是否在touch mode。

 

八、handling focus/处理焦点。可以通过setFocusable、setFocusableInTouchMode设置控件在不同模式下是否可以获得焦点。在获取焦点顺序上,androud采用某方向上最近距离的原则让焦点随用户的操作而移动。另外开发人员也可以通过设置view的nextFocusDown、nextFocusLeft等四个方法来设置获取焦点的顺序。要让某view获得焦点,可以调用requestFocus()方法。

0
0
分享到:
评论

相关推荐

    JAVA事件处理指南

    6. **事件处理(Handling Events)**:当事件发生时,相应的`actionPerformed`或其它事件处理方法会被调用。在这个方法内,你可以编写处理用户行为的代码。 7. **适配器(Adapter)**:为了减少编写大量空方法的...

    Event Handling Guide for iOS

    首先,事件处理的基本原理是,当用户与屏幕上的UI元素交互时,会产生一系列事件,如触摸屏幕、滑动、点击按钮等。这些事件由系统捕获并分发给相应的视图对象。在iOS中,事件模型基于Cocoa Touch框架,其主要由三个...

    eventex,Android Express事件库.zip

    - **事件处理(Handling Events)**:订阅时指定事件处理器,Eventex会自动调用相应的方法处理接收到的事件。 5. **示例代码**: ```java // 发布事件 Eventex.publish(new MyEventData()); // 订阅事件 @...

    Event Handling Guide for iOS 官方文档1

    在iOS开发中,事件处理是构建用户交互界面的关键部分。苹果的Event Handling Guide for iOS官方文档为我们提供了关于如何在iOS 6及更高版本中有效管理触摸、运动和远程控制事件的指南。以下是对该文档主要知识点的...

    JavaFX2.x 专题教程 之 事件处理

    ### JavaFX2.x 事件处理详解 #### 一、引言 JavaFX 是一款用于创建丰富互联网应用程序(RIA)的工具包,它提供了一个强大的图形用户界面(GUI)框架。在JavaFX应用开发中,事件处理是核心概念之一,它使得用户能够...

    jQuery UI Cookbook (pdf + ePub)

    While jQuery core lays the foundation for interaction with the DOM and handling events, jQuery UI fills in the user interaction gap. This book will give you a huge productivity boost out of the box ...

    Android-UI.rar_android_android ui_ui

    6. **触摸事件处理(Touch Events Handling)**: 视图可以通过重写onTouchEvent()方法来处理触摸事件。ACTION_DOWN、ACTION_UP、ACTION_MOVE等事件常用来识别用户的触摸行为,实现手势识别和交互。 7. **动画...

    Prob7-Handling-View-Events

    在Java编程领域,"Prob7-Handling-View-Events" 主题主要涉及用户界面(UI)事件处理,这是GUI(图形用户界面)编程中的一个重要环节。在这个问题中,我们聚焦于如何有效地监听并响应用户在视图层进行的各种操作,如...

    EventBus3.0

    线程模式决定了事件的处理是在UI线程还是后台线程。 5. **粘性事件(Sticky Events)** EventBus3.0支持粘性事件,即当应用重启时,之前发布的粘性事件仍然存在,新注册的订阅者可以直接接收到这些事件。使用`@ ...

    EventBus事件总线c#

    8. **异步处理(Asynchronous Handling)**:考虑到性能和用户体验,EventBus可能支持异步事件处理。这意味着订阅者可以异步地处理事件,而不阻塞主线程。 9. **生命周期管理(Lifetime Management)**:在大型应用...

    Android_SKD_19_Samples_Ui_2

    5. **触摸事件(Touch Events)**:`GestureDetector.SimpleOnGestureListener`示例解释了如何处理滑动、点击等手势。 6. **动画(Animations)**:`Fade`、`Rotate`、`Scale`等动画效果的实现,如`...

    安卓包eventbus3.X.jar 新版免积分下载

    8. **异常处理(Exception Handling)**:EventBus 允许开发者自定义错误处理,当事件处理过程中发生异常时,可以通过`@Subscribe(error = MyExceptionHandler.class)`指定自定义异常处理器。 总之,EventBus 是一...

    深入浅出mfc简体中文版

    以訊息為基礎,以事件驅動之/ 007 ㆒個具體而微的 Win32 程式/ 009 程式進入點 WinMain / 015 視窗類別之註冊與視窗之誕生/ 016 訊息迴路/ 018 視窗的生命㆗樞 - 視窗函式/ 019 訊息映射(Message Map)雛形/ 020 對...

    EventBus-master

    EventBus 提供了自定义异常处理器的机制,当事件处理过程中发生异常时,可以通过实现 `SubscriberExceptionHandler` 接口来自定义错误处理逻辑。 6. 性能优化: EventBus 通过使用注解处理器(Annotation ...

    Android_EventBus_master.zip

    7. **异常处理(Error Handling)**:EventBus 提供了错误处理机制,如果在事件处理过程中抛出异常,可以通过`EventBusBuilder`配置错误处理器。 在"Android_EventBus_master.zip"压缩包中,你可能会发现一些示例...

    Adobe flex 学习

    6. **事件处理**:在描述中的"Handling User Events"部分,这是Flex开发中的重要概念。当用户与应用程序交互时(如点击按钮或滚动列表),会产生事件。开发者需要编写事件监听器来响应这些事件,实现相应的功能。 ...

    eventbus-2.1.0-beta-1.jar

    7. **异常处理(Exception Handling)**: EventBus 自动处理订阅方法抛出的异常,通过 `@SubscriberException` 注解可以自定义异常处理器。 8. **性能优化**: EventBus 使用了泛型和反射技术,能高效地匹配和...

    android event bus app

    EventBus还提供了错误处理机制,当事件处理过程中发生异常时,可以通过`@OnError`注解的方法捕获这些异常。 **事件优先级(Event Priorities)** EventBus支持事件优先级设置,允许开发者指定某些事件应该优先处理...

    Jdeveloper 10g J2EE Student Guide PPT

    01 J2EE Overview 02 Developing J2EE Components in JDeveloper 10g ...16 Handling Application Events 17 Creating the Business Tier: Web Services 18 Deploying J2EE Applications 19 Troubleshooting

Global site tag (gtag.js) - Google Analytics