Android開發(fā)詳解之onTouch, onLongClick和onClick詳解

首先我們對一個同時button設置setOnTouchListener,setOnClickListener,setOnLongClickListener然后加上日志來分析:

1 當onTouch?onLongClick返回值都為false時候,都會觸發(fā)。

當onTouch我改為true時候,其他不變。結果就只會觸發(fā)onTouch事件了。


下面我將對DOWN UP 其中事件進行返回值改動

當DOWN事件返回true時候,表示該View接受此按下動作,就是說這個點擊動作的按下操作被中止,然后就會響應UP事件,點擊動作的按下操作被DOWN接受之后就結束了,所以之后的onClick和onLongClick事件就不會響應了。

當DOWN事件返回false時候,表示View不接受此按下動作,響應完之后,按下操作繼續(xù)往下發(fā),之后就響應UP事件,當UP事件返回true時候

表示UP接受松開操作,松開操作中止;View一直處于按下狀態(tài),之后便會響應onLongClick事件。


當UP事件返回false時候

表示UP不接受松開操作,松開操作繼續(xù)下發(fā),因為按下和松開操作都沒有被中止,所以過后會同時響應onClick和onLongClick事件

再在前面基礎上,onLongClick返回true,此時就只有onLongClick事件了,onClick不會觸發(fā)了。

總結:測試現(xiàn)象中不受MOVE返回值影響。大家可以自己測試,畢竟實踐才是檢驗真理的唯一標準。

下篇分析重寫onTouchEvent對事件的影響和多個View之間的事件響應。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容