“onTouch”与“on Touch Event”的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“onTouch”与“on Touch Event”的区别是啥?相关的知识,希望对你有一定的参考价值。

1.onTouch方法:\x0d\x0aonTouch方法是View的 OnTouchListener借口中定义的方法。\x0d\x0a当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。\x0d\x0a(当把手放到View上后,onTouch方法被一遍一遍地被调用)\x0d\x0a\x0d\x0a2.onTouchEvent方法:\x0d\x0aonTouchEvent方法是override 的Activity的方法。\x0d\x0a重新了Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会别调用。\x0d\x0a(当把手放到Activity上时,onTouchEvent方法就会一遍一遍地被调用)\x0d\x0a\x0d\x0a3.touch事件的传递:\x0d\x0a在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent\x0d\x0a在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。\x0d\x0a\x0d\x0a如果onTouch返回值为true,\x0d\x0a表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,\x0d\x0a也就是说onTouchEvent方法不会被调用。\x0d\x0a(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)\x0d\x0a\x0d\x0a如果onTouch的返回值是false,\x0d\x0a表示这个touch事件没有被tv完全处理,onTouch返回以后,touch事件被传递给Activity,\x0d\x0aonTouchEvent方法被调用。 参考技术A 1.onTouch方法:
onTouch方法是View的 OnTouchListener借口中定义的方法。
当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。
(当把手放到View上后,onTouch方法被一遍一遍地被调用)

2.onTouchEvent方法:
onTouchEvent方法是override 的Activity的方法。
重新了Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会别调用。
(当把手放到Activity上时,onTouchEvent方法就会一遍一遍地被调用)

3.touch事件的传递:
在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。

如果onTouch返回值为true,
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
也就是说onTouchEvent方法不会被调用。
(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)

如果onTouch的返回值是false,
表示这个touch事件没有被tv完全处理,onTouch返回以后,touch事件被传递给Activity,
onTouchEvent方法被调用。

以上是关于“onTouch”与“on Touch Event”的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

onTouch 与多点触控和 SoundPool 运动事件

如何解决控件的onTouch事件与onClick事件的冲突问题

onTouch与onClick冲突解决方法

onInterceptTouchEvent与onTouchEvent默认返回值

onTouch事件传递

Android 里面 onTouch事件有没有Up和Down