【发布时间】:2012-06-25 18:13:28
【问题描述】:
我需要知道如何在不使用按钮的情况下让我的 Activity 知道用户何时触摸屏幕、双击屏幕或将手指长按在单个视图上
谁能简要描述一下我应该在这里做什么,以及使用什么逻辑?
【问题讨论】:
标签: android events touch detect
我需要知道如何在不使用按钮的情况下让我的 Activity 知道用户何时触摸屏幕、双击屏幕或将手指长按在单个视图上
谁能简要描述一下我应该在这里做什么,以及使用什么逻辑?
【问题讨论】:
标签: android events touch detect
您需要有一些包含屏幕的View 或布局项,以便将所有触摸事件发送给它。从那里,您需要附加某种类型的侦听器(可能是触摸或手势)。
我会推荐一个GestureDetector(它支持双击和其他手势),或者一个基本的触摸监听器(使用MotionEvent,它没有双击,但你可以自己实现)。
如果您使用MotionEvent,您可以使用getDownTime() 检测手指向下的时间。对于双击,您可以记录最后一次按下的时间(使用Calendar 或类似方法),然后检查最后一次按下是否在一定时间内(可能是 500 毫秒?)。
如果您使用GestureDetector,您可以以不同的方式实现这些。查看this answer 了解更多详细信息(该线程中的其他答案也提供了替代方案)。它还支持MotionEvent 对象,所以这应该不是问题。
【讨论】: