0

我需要知道如何在不使用按钮的情况下让我的活动知道用户何时触摸屏幕、双击屏幕或将手指放在屏幕上以在单个视图上长按

有人可以简要描述一下我应该在这里工作什么,以及使用什么逻辑吗?

4

1 回答 1

1

您需要有一些View或布局项目包含屏幕,以便将所有触摸事件发送给它。从那里,您需要附加某种类型的侦听器(可能是触摸或手势)。

我会推荐一个GestureDetector(这支持双击和其他手势),或者一个基本的触摸监听器(使用MotionEvent,它没有双击,但你可以自己实现)。

如果你使用MotionEvent的话,你可以检测手指已经向下用了多长时间getDownTime()。对于双击,您可以记录最后一次按下的时间(使用Calendar或类似),然后检查最后一次按下是否在一定时间内(可能是 500 毫秒?)。

如果你使用GestureDetector,你可以以不同的方式实现这些。查看此答案以获取更多详细信息(该线程中的其他答案也提供了替代方案)。它还支持MotionEvent对象,所以这应该不是问题。

于 2012-06-23T21:56:58.913 回答