對不起,這個奇怪的問題,但是有可能在Android中同時點擊兩個按鈕(有兩個日誌,「點擊b1」和「點擊b2」),如果一個完全覆蓋另一個?是否可以同時點擊兩個按鈕,如果一個覆蓋另一個按鈕?
回答
這不是一般可能;頂部按鈕將吸收按鈕單擊事件,而不是將它傳遞給它後面的按鈕。目前尚不清楚您是否想要獲得此行爲或避免它,但是,您可以通過在點擊監聽器上手動傳播事件來強制實施此行爲。
這裏有一種方法(有幾個);假設buttonOne是buttonTwo的頂部:
final Button buttonOne = (Button) findViewById(...);
final Button buttonTwo = (Button) findViewById(...);
buttonOne.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ButtonTest", "ButtonOne clicked");
buttonTwo.performClick();
}
});
buttonTwo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ButtonTest", "ButtonTwo clicked");
}
});
單擊事件進入按鈕之一,然後使上兩個按鈕點擊事件監聽器。
這裏是另一種方式,其將工作(和可以改變,以輕鬆支持長按事件):我不知道我怎麼能做到這一點
final Button buttonOne = (Button) findViewById(...);
final Button buttonTwo = (Button) findViewById(...);
final OnClickListener listenerTwo = new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ButtonTest", "ButtonTwo clicked");
}
};
final OnClickListener listenerOne = new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ButtonTest", "ButtonOne clicked");
listenerTwo.onClick(buttonTwo);
}
};
buttonOne.setOnClickListener(listenerOne);
buttonTwo.setOnClickListener(listenerTwo);
是的,這是可能的。您需要將發生在前景視圖上的點擊事件傳遞給背景視圖。您可以通過檢查點擊發生的位置以及它是否出現在視圖的邊界內來做到這一點。
。你能告訴我一個代碼,你可以檢查出現問題的地方嗎? – 2012-03-11 21:58:14
您提到前景按鈕完全覆蓋後臺按鈕,意味着無論何時單擊前景按鈕,都應該觸發後臺按鈕的單擊事件,因此您甚至需要執行任何邊界檢查? (如果是這種情況,您可能需要考慮重新考慮您的設計) – 2012-03-11 22:04:02
- 1. 同時點擊兩個按鈕,如果其中一個覆蓋另一個按鈕
- 2. 點擊一個按鈕覆蓋另一個div
- 3. 如何添加一個buttton2,同時點擊另一個按鈕1和按鈕3,同時點擊按鈕2
- 4. C# - 當點擊另一個按鈕時創建一個按鈕
- 5. 通過點擊一個按鈕調用另外兩個按鈕
- 6. 同時點擊一個按鈕另一個按鈕被取消選擇
- 7. 在開始時隱藏兩個按鈕,當點擊另一個按鈕時,顯示兩個按鈕
- 8. 一個按鈕發射另一個按鈕點擊事件
- 9. WPF:如何在點擊另一個按鈕時動畫按鈕?
- 10. 點擊另一個按鈕時的實時表刪除按鈕
- 11. iphone:在一個按鈕,點擊按鈕的標題應在另一個按鈕
- 12. 按鈕被點擊後,另一個按鈕就不會點擊
- 13. 單擊一個按鈕後是否可以避免控件驗證,而不是單擊另一個按鈕後?
- 14. 點擊只是一個按鈕通過覆蓋div
- 15. 單擊一個按鈕時禁用多個按鈕點擊
- 16. 同時點擊兩個單選按鈕?
- 17. c# - 點擊另一個按鈕時隱藏按鈕文本
- 18. 點擊另一個按鈕時顯示按鈕
- 19. 如何在同一時間點擊一個按鈕和活動2個按鈕
- 20. 按鈕覆蓋/衝突在同一網頁上的另一個按鈕
- 21. 如何在另一個點擊時創建一個新按鈕
- 22. 兩個功能一個接一個地點擊按鈕時 - Pyside
- 23. 點擊一個按鈕來模擬點擊多個按鈕
- 24. 如果一個按鈕被一個接一個地點擊 - 做...?
- 25. 如何點擊另一個按鈕上方的按鈕?
- 26. 如何禁用按鈕的另一個按鈕被點擊
- 27. 如何通過點擊另一個按鈕java執行按鈕?
- 28. 委派一個按鈕單擊事件通過點擊另一個按鈕
- 29. 點擊一個功能按鈕再次點擊另一個
- 30. 點擊一個按鈕來觸發點擊另一個
我想obatin這種行爲。你能告訴我一個代碼如何強制它嗎?正如你所說,如果我在兩個按鈕上單擊事件,最上面的一個會吸收點擊事件。 – 2012-03-11 21:53:19
我已經添加了一個示例。 – antonyt 2012-03-11 22:00:49
如果我想在buttontwo上使用onLingClickEvent,該怎麼辦?所以如果我的點擊很短,那麼buttonone的事件就完成了,如果我的點擊很長,那麼buttontwo的事件就完成了?有沒有perfromLongClick或其他類似的?我仍然需要兩個按鈕,所以製作一個setonclicklistener和一個setonLongclicklistener對我來說並不好。 – 2012-03-11 22:11:54