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