码迷,mamicode.com
首页 > 移动开发 > 详细

Android onTouchEvent和setOnTouchListener中onTouch的区别

时间:2014-11-13 16:42:07      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:android   style   http   color   ar   sp   on   html   ad   

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,这些事件将不会被触发。


Android onTouchEvent和setOnTouchListener中onTouch的区别

标签:android   style   http   color   ar   sp   on   html   ad   

原文地址:http://blog.csdn.net/shineflowers/article/details/41080435

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!