Android onTouchEvent事件中onTouch方法返回值(介绍)

1、若return false说明没有成功执行onTouch事件,在执行完onTouch里面的代码之后,onTouch事件并没有结束。因此某些组件如Gallery会自动执行它所在view里onTouch方法的代码。若在onTouch方法里面增加你的代码并且最后return false就会执行你在OnTouch方法中的处理操作了。

2、若return true说明你已经成功执行onTouch方法了,在执行完onTouch中的代码之后,这个onTouch事件就结束了。也不会再调用组件如Gallery默认的onTouch方法了。在onTouch方法中,我们可以做很多操作,如move,down,up等等,若我们在move里面return false,那么接着的fling,up等后面的事件也不会处理。

Gallery.setOnTouchListener(new OnTouchListener(){ 




//@Override 

public boolean onTouch(View v, MotionEvent event) { 

System.out.println("Gallery onTouch"); 

if(event.getAction()==MotionEvent.ACTION_MOVE){ 

mDismiss.removeMessages(1); 

System.out.println("ACTION_MOVE "); 



}else if(event.getAction()==MotionEvent.ACTION_UP){ 

mDismiss.sendEmptyMessageDelayed(1,10000); 

System.out.println("ACTION_UP "); 

} 

return false; 

} 



}); 

注意:

1、在ViewGroup中onInterceptTouchEvent方法若反回false,那么触屏事件会继续向下传递,但如果没有子View去处理这个事件,即子view的onTouchEvent没有返回True,则最后还是由ViewGroup去处理这个事件,也就又执行了自己的onTouchEvent。

2、onTouch调用前会自动调用onInterceptTouchEvent 如果onInterceptTouchEvent返回的false,则不会调用onTouchEvent,若重写onInterceptTouchEvent让它在需要调用onTouchEvent时返回true

以上这篇Android onTouchEvent事件中onTouch方法返回值(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持菜鸟教程(cainiaojc.com)。