老生常談onTouch和onTouchEvent(必看篇)
1.onTouch和onTouchEvent,都是在dispatchTouchEvent()中調用,onTouch優(yōu)先于onTouchEvent執(zhí)行。如果在onTouch方法中通過返回true將事件消費掉,onTouchEvent將不會再執(zhí)行。另外需要注意的是,onTouch能夠得到執(zhí)行需要兩個前提條件,第一mOnTouchListener的值不能為空,第二當前點擊的控件必須是enable的。因此如果你有一個控件是非enable的,那么給它注冊onTouch事件將永遠得不到執(zhí)行。對于這一類控件,如果我們想要監(jiān)聽它的touch事件,就必須通過在該控件中重寫onTouchEvent方法來實現(xiàn)。
1、onTouch方法:
onTouch方法是View的 OnTouchListener借口中定義的方法。
當一個View綁定了OnTouchLister后,當有touch事件觸發(fā)時,就會調用onTouch方法。
(當把手放到View上后,onTouch方法被一遍一遍地被調用)
2、onTouchEvent方法:
onTouchEvent方法是override 的Activity的方法。
重新了Activity的onTouchEvent方法后,當屏幕有touch事件時,此方法就會別調用。
(當把手放到Activity上時,onTouchEvent方法就會一遍一遍地被調用)
3、touch事件的傳遞:
在一個Activity里面放一個TextView的實例tv,并且這個tv的屬性設定為 fill_parent
在這種情況下,當手放到屏幕上的時候,首先會是tv響應touch事件,執(zhí)行onTouch方法。
如果onTouch返回值為true,
表示這個touch事件被onTouch方法處理完畢,不會把touch事件再傳遞給Activity,
也就是說onTouchEvent方法不會被調用。
(當把手放到屏幕上后,onTouch方法被一遍一遍地被調用)
如果onTouch的返回值是false,
表示這個touch事件沒有被tv完全處理,onTouch返回以后,touch事件被傳遞給Activity,
onTouchEvent方法被調用。
以上這篇老生常談onTouch和onTouchEvent(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android ListView用EditText實現(xiàn)搜索功能效果
本篇文章主要介紹了Android ListView用EditText實現(xiàn)搜索功能效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Android實現(xiàn)長按圓環(huán)動畫View效果的思路代碼
這篇文章主要介紹了Android實現(xiàn)長按圓環(huán)動畫View效果,本文給大家分享實現(xiàn)思路,通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Android實現(xiàn)四級聯(lián)動地址選擇器
這篇文章主要為大家詳細介紹了Android實現(xiàn)四級聯(lián)動地址選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-10-10淺析Android App的相對布局RelativeLayout
這篇文章主要介紹了Android App的相對布局RelativeLayout,文中舉了一個登錄界面的XML布局例子,非常直觀,需要的朋友可以參考下2016-04-04