我想在我的应用程序中检测屏幕上用户的触摸并在这种情况下重置一些计时器。我发现我可以使用onTouchEvent,但只有当我按下没有任何按钮的空闲空间时它才有效....我不想在我的项目中的每个View上注册touchEventListener。还有其他方法可以做到吗?
答案 0 :(得分:1)
的确,首先你必须在你的活动中覆盖这个方法:
public boolean onTouchEvent(MotionEvent event);
然后,您必须禁用可点击元素的操作。
答案 1 :(得分:0)
您应该为父视图实现该OnTouchListener,并使用setClickable(false)
使子视图无法点击...
如果这不起作用,您可能需要遵循this answer
中建议的方法答案 2 :(得分:0)
您需要做的就是在顶级容器视图中覆盖onInterceptTouchEvent(MotionEvent ev)方法,或者您可以覆盖Activity.onUserInteraction但它还包括键和轨迹球动作