Android的onTouch()方法和onTouchEvent()方法有什么区别?
1个回答
2014-10-25
展开全部
在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。
如果onTouch返回值为true,
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
也就是说onTouchEvent方法不会被调用。
(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)
如果onTouch返回值为false,就表示对该点击事件没消费,传递给onTouchEvent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。
如果onTouch返回值为true,
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
也就是说onTouchEvent方法不会被调用。
(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)
如果onTouch返回值为false,就表示对该点击事件没消费,传递给onTouchEvent
追问
意思就是说onTouchEvent()方法是Activity对象相对于View控件的onTouch()方法的存在,对吧?
追答
onTouch和onTouchEvent()都是存在的方法,返回不同的值调用不同的方法。我们可以改写这些方法来实现我们要实现的效果,比如滑屏之类的,可以在这些方法里面写。关于触摸这块还有长按事件、手势等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询