1、若return false說(shuō)明沒(méi)有成功執(zhí)行onTouch事件,在執(zhí)行完onTouch里面的代碼之后,onTouch事件并沒(méi)有結(jié)束。因此某些組件如Gallery會(huì)自動(dòng)執(zhí)行它所在view里onTouch方法的代碼。若在onTouch方法里面增加你的代碼并且最后return false就會(huì)執(zhí)行你在OnTouch方法中的處理操作了。
成都創(chuàng)新互聯(lián) - 成都移動(dòng)服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽(yáng)服務(wù)器托管,德陽(yáng)服務(wù)器托管,遂寧服務(wù)器托管,綿陽(yáng)服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),成都移動(dòng)服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,成都機(jī)柜租用,四川老牌IDC服務(wù)商
2、若return true說(shuō)明你已經(jīng)成功執(zhí)行onTouch方法了,在執(zhí)行完onTouch中的代碼之后,這個(gè)onTouch事件就結(jié)束了。也不會(huì)再調(diào)用組件如Gallery默認(rèn)的onTouch方法了。在onTouch方法中,我們可以做很多操作,如move,down,up等等,若我們?cè)趍ove里面return false,那么接著的fling,up等后面的事件也不會(huì)處理。
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,那么觸屏事件會(huì)繼續(xù)向下傳遞,但如果沒(méi)有子View去處理這個(gè)事件,即子view的onTouchEvent沒(méi)有返回True,則最后還是由ViewGroup去處理這個(gè)事件,也就又執(zhí)行了自己的onTouchEvent。
2、onTouch調(diào)用前會(huì)自動(dòng)調(diào)用onInterceptTouchEvent 如果onInterceptTouchEvent返回的false,則不會(huì)調(diào)用onTouchEvent,若重寫(xiě)onInterceptTouchEvent讓它在需要調(diào)用onTouchEvent時(shí)返回true
以上這篇Android onTouchEvent事件中onTouch方法返回值(介紹)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。