Android onTouchEvent和setOnTouchListener中onTouch的區別


OnTouchEvent()方法

 

是獲取的對屏幕的各種操作,比如向左向右滑動,點擊返回按鈕等等。

屬於一個宏觀的屏幕觸摸監控。

OnTouchListener()方法
是獲取某一個控件某一個View的點擊監控。
官方文檔:http://developer.android.com/ref ... nTouchListener.html

兩者很容易區分。

區別如下:

 

1、如果setOnTouchListener中的onTouch方法返回值是true(事件被消費)時,則onTouchEvent方法將不會被執行;

2、只有當setOnTouchListener中的onTouch方法返回值是false(事件未被消費,向下傳遞)時,onTouchEvent方法才被執行。

3、以上說的情況適用於View對象(事件會最先被最內層的View對象先響應)而不是ViewGroup對象(事件會最先被最外層的View對象先響應)。

綜合來講:

onTouchListener的onTouch方法優先級比onTouchEvent高,會先觸發。

假如onTouch方法返回false,會接着觸發onTouchEvent,反之onTouchEvent方法不會被調用。

內置諸如click事件的實現等等都基於onTouchEvent,假如onTouch返回true,這些事件將不會被觸發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM