我想使用侦听器从屏幕捕捉所有动作事件,例如,如果我从屏幕上方向上进行滑动触摸,触摸移动和触摸。由于此触摸将覆盖多个视图示例线性视图,按钮和文本字段我试图附加在所有视图的触摸监听器上,但我会得到不好的数据,例如我会触摸起来没有触摸起伏等。请告知一种可以实现这一点的方式。如何使用侦听器/侦听器捕获所有动作事件
回答
一个很好的方式来处理,这是对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会一直发送到相同的视图,直到您移开手指。 –