我想使用偵聽器從屏幕捕捉所有動作事件,例如,如果我從屏幕上方向上進行滑動觸摸,觸摸移動和觸摸。由於此觸摸將覆蓋多個視圖示例線性視圖,按鈕和文本字段我試圖附加在所有視圖的觸摸監聽器上,但我會得到不好的數據,例如我會觸摸起來沒有觸摸起伏等。請告知一種可以實現這一點的方式。如何使用偵聽器/偵聽器捕獲所有動作事件
回答
一個很好的方式來處理,這是對OnTouchListener重視所有的意見父ViewGroup中(佈局) 。
例如,您可以在您的問題中提到具有多個視圖(線性視圖,按鈕和文本字段)的RelativeLayout。你可以這樣做:
RelativeLayout currentView = (RelativeLayout) findViewById(R.id.MyRelativeLayout);
currentView.addView(aSubView);
currentView.addView(aSubButton);
currentView.addView(aSubTextView);
currentView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// Here you will receive all the motion event.
return false;
}
});
這樣做,這也適用於線性佈局和網格佈局? –
是的,它會的。如果它解決了您的問題,請將答案標記爲已接受。謝謝。 – jobesu14
我剛試過這個它不工作! ...因爲其他視圖已經是孩子了,你可以再次添加它們。另外,只有在附着的孩子不會捕獲所有動作事件的情況下,才能將偵聽器附加到根 –
您可以覆蓋您的活動中的dispatchTouchEvent(MotionEvent ev)方法。
在MotionEvent轉發到不同的活動視圖之前調用它。
您可以然後做你想要做什麼用,轉發它們,使用它們...
我想用聽衆 –
- 1. 事件偵聽器
- 2. 在動作偵聽器偵聽事件後,Java gui不打印
- 3. 將事件偵聽器傳遞給事件偵聽器?
- 4. 事件偵聽器如何工作?
- 5. 「滾動」事件偵聽器不工作
- 6. 事件偵聽器5
- 7. 事件偵聽器在evently
- 8. 蠟染事件偵聽器
- 9. ZF3 onRoute事件偵聽器
- 10. reactjs事件偵聽器window.resize
- 11. jQuery動態調用事件偵聽器
- 12. 鼠標偵聽器和動作偵聽器的區別?
- 13. 偵聽iOS屏幕捕獲事件
- 14. 如何刪除事件偵聽器?
- 15. 如何「範圍」事件偵聽器?
- 16. Android - 如何偵聽器系統事件?
- 17. 如何刪除事件偵聽器?
- 18. []如何附加事件偵聽器?
- 19. 如何停止YUI事件偵聽器
- 20. 如何簡化javascript事件偵聽器?
- 21. XMLHTTPRequest事件偵聽器不工作?
- 22. swfobject事件偵聽器不工作?
- 23. postMessage()事件偵聽器不工作
- 24. Firebase'child_removed'事件偵聽器不工作
- 25. 製作Picker的事件偵聽器
- 26. 將一個事件偵聽器更改爲另一個事件偵聽器?
- 27. 動態添加事件偵聽器
- 28. 動態添加事件偵聽器
- 29. 觸摸偵聽器偵聽邊距
- 30. Java:如何註冊偵聽JFrame運動的偵聽器
當一個觸摸開始在視圖上。 Android會一直髮送到相同的視圖,直到您移開手指。 –