【问题标题】:Android: OnTouch event features, detecting a normal touch, a long touch or a quick double touchAndroid:OnTouch 事件功能,检测正常触摸、长按或快速双击
【发布时间】:2012-06-25 18:13:28
【问题描述】:

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

谁能简要描述一下我应该在这里做什么,以及使用什么逻辑?

【问题讨论】:

    标签: android events touch detect


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多