您好,登錄后才能下訂單哦!
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方法返回值(介紹)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。