6 回答

TA貢獻1772條經(jīng)驗 獲得超8個贊
需要注意的點是:
1.你設(shè)置的RelativeLayout 是否布滿了整個屏幕,可以通過設(shè)置背景顏色來確定。
2.是否有事件覆蓋,比如如果RelativeLayout 上面有個按鈕,你點擊的按鈕,按鈕事件就會和你的RelativeLayout
事件沖突,這種都會是按鈕覆蓋了RelativeLayout的事件

TA貢獻2065條經(jīng)驗 獲得超14個贊
在底層觸摸事件中是沒有點擊事件
的,點擊事件
是有View
模擬出來的,模擬的過程在View
的touch
處理的幾個方法中完成。觸摸事件會由父View
傳遞給子View
,再由子View
冒泡到父View
,這個過程中,子View
是可能吃掉事件的,也就是說,觸摸事件無法冒泡回父View
,既然收不到事件,父View
也就無法完成點擊事件的模擬。
解決方法是繼承重寫View
的touch
處理的幾個方法,在其中自己完成點擊事件的模擬。

TA貢獻1847條經(jīng)驗 獲得超11個贊
FrameLayout rootview=(FrameLayout)findViewById(android.R.id.content);
rootview.setClickable(true);

TA貢獻1891條經(jīng)驗 獲得超3個贊
建議你看看Android事件分發(fā)機制,就知道為什么不行了。
如果你非要實現(xiàn)這個功能的話,就將所有視圖的OnClickListener
設(shè)置為同一個對象。
添加回答
舉報