Android onTouchEvent和setOnTouchListener中onTouch的区别
2014-11-13 15:50
423 查看
OnTouchEvent()方法
是获取的对屏幕的各种操作,比如向左向右滑动,点击返回按钮等等。
属于一个宏观的屏幕触摸监控。
OnTouchListener()方法
是获取某一个控件某一个View的点击监控。
官方文档:http://developer.android.com/ref
... nTouchListener.html
两者很容易区分。
区别如下:
1、如果setOnTouchListener中的onTouch方法返回值是true(事件被消费)时,则onTouchEvent方法将不会被执行;
2、只有当setOnTouchListener中的onTouch方法返回值是false(事件未被消费,向下传递)时,onTouchEvent方法才被执行。
3、以上说的情况适用于View对象(事件会最先被最内层的View对象先响应)而不是ViewGroup对象(事件会最先被最外层的View对象先响应)。
综合来讲:
onTouchListener的onTouch方法优先级比onTouchEvent高,会先触发。
假如onTouch方法返回false,会接着触发onTouchEvent,反之onTouchEvent方法不会被调用。
内置诸如click事件的实现等等都基于onTouchEvent,假如onTouch返回true,这些事件将不会被触发。
是获取的对屏幕的各种操作,比如向左向右滑动,点击返回按钮等等。
属于一个宏观的屏幕触摸监控。
OnTouchListener()方法
是获取某一个控件某一个View的点击监控。
官方文档:http://developer.android.com/ref
... nTouchListener.html
两者很容易区分。
区别如下:
1、如果setOnTouchListener中的onTouch方法返回值是true(事件被消费)时,则onTouchEvent方法将不会被执行;
2、只有当setOnTouchListener中的onTouch方法返回值是false(事件未被消费,向下传递)时,onTouchEvent方法才被执行。
3、以上说的情况适用于View对象(事件会最先被最内层的View对象先响应)而不是ViewGroup对象(事件会最先被最外层的View对象先响应)。
综合来讲:
onTouchListener的onTouch方法优先级比onTouchEvent高,会先触发。
假如onTouch方法返回false,会接着触发onTouchEvent,反之onTouchEvent方法不会被调用。
内置诸如click事件的实现等等都基于onTouchEvent,假如onTouch返回true,这些事件将不会被触发。
相关文章推荐
- 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解
- android:onTouch()和onTouchEvent()的区别?看完这篇文章就知道了
- Android中ontouchlistener和ontouchevent事件的区别
- Android onTouch()和onTouchEvent()区别
- Android onTouchEvent和setOnTouchListener中onTouch的区别
- Android:onTouch()和onTouchEvent()的区别?
- Android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android:onTouch()和onTouchEvent()的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android:onTouch()和onTouchEvent()的区别?看完这篇文章就知道了
- Android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- android:onTouch()和onTouchEvent()的区别?看完这篇文章就知道了
- android:onTouch()和onTouchEvent()的区别?看完这篇文章就知道了
- Android onTouchEvent和setOnTouchListener中onTouch的区别
- android onTouchEvent和setOnTouchListener中onTouch的区别
- Android中手势监听GestureDetector基础&android:onTouch()和onTouchEvent()的区别