requestDisallowInterceptTouchEvent方法

在android 事件傳遞的過程中,事件一層一層向下傳遞,直到父類有攔截,否則會一直傳遞到底層View的onTouchEvent方法。

如果父類有攔截,則直接跳過子類,走父類的onTouchEvent方法。

冒泡過程中只會有一個控件的ontouchEvent方法返回true,返回true代表事件不再向上冒泡。返回false會繼續向上冒泡。


其中,requestDisallowInterceptTouchEvent方法可以阻止父類攔截事件,使用方法是:

重寫自己用到的View的onTouchEvent方法,在其ACTION_DOWN的時候,調用父View的requestDisallowInterceptTouchEvent(true)方法設置,在ACTION_UP或者ACTION_CANCEL的時候,調用調用父View的requestDisallowInterceptTouchEvent(false)方法重置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章