欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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方法返回值(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。