Android onTouchEvent事件中onTouch方法返回值(介绍)
1、若returnfalse说明没有成功执行onTouch事件,在执行完onTouch里面的代码之后,onTouch事件并没有结束。因此某些组件如Gallery会自动执行它所在view里onTouch方法的代码。若在onTouch方法里面增加你的代码并且最后returnfalse就会执行你在OnTouch方法中的处理操作了。
2、若returntrue说明你已经成功执行onTouch方法了,在执行完onTouch中的代码之后,这个onTouch事件就结束了。也不会再调用组件如Gallery默认的onTouch方法了。在onTouch方法中,我们可以做很多操作,如move,down,up等等,若我们在move里面returnfalse,那么接着的fling,up等后面的事件也不会处理。
Gallery.setOnTouchListener(newOnTouchListener(){ //@Override publicbooleanonTouch(Viewv,MotionEventevent){ System.out.println("GalleryonTouch"); if(event.getAction()==MotionEvent.ACTION_MOVE){ mDismiss.removeMessages(1); System.out.println("ACTION_MOVE"); }elseif(event.getAction()==MotionEvent.ACTION_UP){ mDismiss.sendEmptyMessageDelayed(1,10000); System.out.println("ACTION_UP"); } returnfalse; } });
注意:
1、在ViewGroup中onInterceptTouchEvent方法若反回false,那么触屏事件会继续向下传递,但如果没有子View去处理这个事件,即子view的onTouchEvent没有返回True,则最后还是由ViewGroup去处理这个事件,也就又执行了自己的onTouchEvent。
2、onTouch调用前会自动调用onInterceptTouchEvent如果onInterceptTouchEvent返回的false,则不会调用onTouchEvent,若重写onInterceptTouchEvent让它在需要调用onTouchEvent时返回true
以上这篇AndroidonTouchEvent事件中onTouch方法返回值(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。