Android onTouchEvent事件中onTouch方法返回值(介绍)
程序员文章站
2022-08-02 14:51:02
1、若return false说明没有成功执行ontouch事件,在执行完ontouch里面的代码之后,ontouch事件并没有结束。因此某些组件如gallery会自动执行...
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方法返回值(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。