我按住屏幕的其他地方时,然后去点击某个按钮,但是无法相应点击事件,不知道应该怎么解决这个问题,求解决方案!
认证高级PHP讲师
根據android中的事件回應,事件從activity傳遞到window,然後傳遞到decorview,然後傳遞到我們contentview,然後進行事件的分發,首先是從高層viewgroup判斷是否攔截,如果不攔截向下傳遞,傳遞到底層之後,如果有設定onTouchListener,則執行監聽介面的中的方法,否則執行onTouch,回傳了true,則該事件被消耗掉了,在上層不會再做處理,如果傳回false,上層還需要繼續做處理。 了解上層事件分發過程,現在說說你的問題,按住螢幕,這個時候有事件產生,但是你所按的地方是無法將該事件消耗掉,所以該事件位元被消耗,影響了新事件的分發。所以按鈕不可以被點擊了。因為事件傳遞不到按鈕了。
根據android中的事件回應,事件從activity傳遞到window,然後傳遞到decorview,然後傳遞到我們contentview,然後進行事件的分發,首先是從高層viewgroup判斷是否攔截,如果不攔截向下傳遞,傳遞到底層之後,如果有設定onTouchListener,則執行監聽介面的中的方法,否則執行onTouch,回傳了true,則該事件被消耗掉了,在上層不會再做處理,如果傳回false,上層還需要繼續做處理。
了解上層事件分發過程,現在說說你的問題,按住螢幕,這個時候有事件產生,但是你所按的地方是無法將該事件消耗掉,所以該事件位元被消耗,影響了新事件的分發。所以按鈕不可以被點擊了。因為事件傳遞不到按鈕了。