0

我想在我的应用程序中检测用户在屏幕上的触摸并在这种情况下重置一些计时器。我发现我可以使用 onTouchEvent 但它只有在我按下没有任何按钮的可用空间时才有效,......我不想在我的项目中的每个视图上注册 touchEventListener。还有其他方法吗?

4

3 回答 3

1

事实上,首先你必须在你的活动中重写这个方法:

public boolean onTouchEvent(MotionEvent event);

然后,您必须禁用可点击元素的操作。

于 2013-06-06T13:29:38.047 回答
0

您应该为父视图实现 OnTouchListener 并使用setClickable(false)...使子视图不可点击

如果这不起作用,您可能需要遵循此答案中建议的方法

于 2013-06-06T13:28:17.660 回答
0

您所要做的就是在顶级容器视图中覆盖 onInterceptTouchEvent (MotionEvent ev) 方法,或者您可以覆盖 Activity.onUserInteraction 但它还包括键和轨迹球动作

于 2013-06-06T13:56:39.557 回答