Android中onTouchListener、onTouchEvent、onClickListener有什么区别
2014-06-15 21:55
477 查看
在android开发过程中,我们时常会需要与用户进行信息交互,就会接触到android的两种事件处理机制:事件回调机制(onEvent)和事件监听机制(onListener),那么他们两者之间到底有什么区别呢?我们来举两个例子,说明情况。
首先是onTouchListener(以下简称TL)和onTouchEvent(以下简称TE),TL是一个接口类,调用它我们首先需要实现它的一个onTouch()抽象类方法,当指定区域监听到用户相对应的Action,就会进入该方法进行相应处理;那么TE其实是View类下面一个方法,和onTouch一样需要被重写,在其中我们可以根据不同的touch响应不同的处理方式。所以TL和View都是类,TE和onTouch都是类里面的方法,我们可以通过这两种方法处理不同的touch交互Action。
那么onTouchListener和OnClickListener(以下简称CL)又有何区别呢?很明显的一点是,它们都是一种Listener监听机制,而TL可以监听到点击事件在onTouch中处理,并传入两个参数View和motionEvent,后者可以知道touch有哪些相应的Action,并分别处理,CL可以监听控件点击事件在onClick中处理,并只传入View参数,统一进行点击处理。
有了这两种事件处理机制,我们可以灵活运用,并获得一个相对更好的用户体验,记住对产品来说,用户至上!
首先是onTouchListener(以下简称TL)和onTouchEvent(以下简称TE),TL是一个接口类,调用它我们首先需要实现它的一个onTouch()抽象类方法,当指定区域监听到用户相对应的Action,就会进入该方法进行相应处理;那么TE其实是View类下面一个方法,和onTouch一样需要被重写,在其中我们可以根据不同的touch响应不同的处理方式。所以TL和View都是类,TE和onTouch都是类里面的方法,我们可以通过这两种方法处理不同的touch交互Action。
那么onTouchListener和OnClickListener(以下简称CL)又有何区别呢?很明显的一点是,它们都是一种Listener监听机制,而TL可以监听到点击事件在onTouch中处理,并传入两个参数View和motionEvent,后者可以知道touch有哪些相应的Action,并分别处理,CL可以监听控件点击事件在onClick中处理,并只传入View参数,统一进行点击处理。
有了这两种事件处理机制,我们可以灵活运用,并获得一个相对更好的用户体验,记住对产品来说,用户至上!
相关文章推荐
- Android中onTouchListener、onTouchEvent、onClickListener有什么区别
- Android之onTouchEvent和OnTouchListener中onTouch的区别
- [转]android中OnTouch和OnClick、 imagebutton的src和background有什么区别
- View的onTouchEvent、setTouchListener、OnClick和setClickListener四者的区别
- android 中view 的OnTouchListener和OnClickListener的区别
- android onTouch()与onTouchEvent()的区别
- setOnTouchListener onTouchEvent setOnClickListener
- Android中OnTouchListener和OnClickListener并存
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouch()与onTouchEvent()的区别
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android View的onTouchEvent和OnTouch区别
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android onTouchEvent, onClick及onLongClick的调用
- Android的事件分发onInterceptTouchEvent与onTouchEvent、OnClickListener、OnLongClick
- Android View的onTouchEvent和OnTouch区别
- Android onTouchEvent 与 onInterceptTouchEvent的区别详解