第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于android的整個屏幕的點擊事件

關(guān)于android的整個屏幕的點擊事件

慕村225694 2019-03-19 17:15:36
想給整個屏幕設(shè)置一個點擊事件 當(dāng)在屏幕上點擊的時候 產(chǎn)生一個Onclick事件 但是我給一個RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rela);relativeLayout.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                // TODO Auto-generated method stub                            }        });        但是這樣貌似不行啊 在整個屏幕上設(shè)置Touch事件的監(jiān)聽用這個方法可以實現(xiàn) 但是單機事件好像不行啊
查看完整描述

6 回答

?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

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

查看完整回答
反對 回復(fù) 2019-04-18
?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

在底層觸摸事件中是沒有點擊事件的,點擊事件是有View模擬出來的,模擬的過程在Viewtouch處理的幾個方法中完成。觸摸事件會由父View傳遞給子View,再由子View冒泡到父View,這個過程中,子View是可能吃掉事件的,也就是說,觸摸事件無法冒泡回父View,既然收不到事件,父View也就無法完成點擊事件的模擬。
解決方法是繼承重寫Viewtouch處理的幾個方法,在其中自己完成點擊事件的模擬。

查看完整回答
反對 回復(fù) 2019-04-18
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

relativeLayout.setClickable(true);


查看完整回答
反對 回復(fù) 2019-04-18
?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

FrameLayout rootview=(FrameLayout)findViewById(android.R.id.content);
rootview.setClickable(true);

查看完整回答
反對 回復(fù) 2019-04-18
?
萬千封印

TA貢獻1891條經(jīng)驗 獲得超3個贊

建議你看看Android事件分發(fā)機制,就知道為什么不行了。 
如果你非要實現(xiàn)這個功能的話,就將所有視圖的OnClickListener設(shè)置為同一個對象。

查看完整回答
反對 回復(fù) 2019-04-18
  • 6 回答
  • 0 關(guān)注
  • 1965 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號