91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于控件touch事件的整理

發布時間:2020-07-17 05:03:02 來源:網絡 閱讀:161 作者:文劍Boy 欄目:開發技術

關于touch事件的傳遞:在Activity中接觸屏幕后會產生MotionEvent,傳遞順序:

首先觸發Activity的dispatchTouchEvent

然后觸發Activity的onUserInteraction

然后觸發Layou的dispatchTouchEvent

然后觸發Layout的onInterceptTouchEvent(onTouchevent)

然后觸發View的dispatchTouchEvent

然后觸發View的onTouchEvent

其中需要注意的是Layout的onInterceptTouchEvent和onTouchEvent以及View的dispatchTouchEvent和onTouchEvent的使用方法


對于onInterceptTouchEvent而言,其源代碼僅一個“return false”,如果需要攔截該層MontionEvent應覆蓋并返回true,此時將觸發該Layout的onTouchEvent,并且不再向下傳遞,記住無論是View還是ViewGroup一旦觸發onTouchEvent,則本次MontionEvent都不可能向下傳遞,

對于onTouchEvent,這個函數是觸發其他Listener的關鍵(如click等,但不含onTouchListener),一般來說不應全部覆蓋,應該在適時調用Super.onTouchEvent,其返回值意義是若返回true,則后續MontionEvent(down與up間的action)都傳遞到此onTouchEvent,若返回false則以后的MontionEvent傳遞到上層onTouchEvent(如Layout的onTouchEvent),

對于View的dispatchTouchEvent,其源代碼說明了先調用onTouchListener,若其返回為true,則不再調用onTouchEvent,并dispatchTouchEvent直接返回true,若其返回為false,則調用onTouchEvent,并以onTouchEvent的返回值為最終返回值,

注:View(viewGroup)的dispatch函數由系統上層直接調用,而其他的onTouchEvent,onTouchListener等是由dispatch來調用,其返回值也是先返回給dispatch,再由dispatch返回,故核心應在dispatch函數,故最好不要直接重寫該函數,

綜上,個人認為對于dispatchTouchEvent與onTouchEvent不應直接覆蓋,應適時調用super的代碼;


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜新市| 句容市| 庆元县| 唐山市| 嫩江县| 永年县| 桐梓县| 新野县| 万全县| 石阡县| 开鲁县| 边坝县| 黄骅市| 富民县| 诏安县| 台北市| 公安县| 永仁县| 务川| 洮南市| 云林县| 荥阳市| 独山县| 长春市| 安丘市| 昌吉市| 临西县| 乐亭县| 阿拉善盟| 嘉荫县| 哈巴河县| 汽车| 蓬安县| 寻乌县| 互助| 加查县| 台山市| 长海县| 常德市| 武川县| 沅陵县|