测量用户屏幕触摸的时间

时间:2013-04-19 20:39:57

标签: java android timer

我正在为Android开发一个应用程序,其中我使用屏幕触摸从用户处获取振动模式并将其保存在数组中。 例如

long[] pattern = {100, 200,150}; 

前100ms振动然后接下来的200ms不振动然后振动接下来的150ms。 我想根据用户输入创建这个值。

我正在使用Timer课程,我将节省用户在两次触摸之间花费的时间。 但是作为java的新手,我无法弄清楚如何实现上面的逻辑,转换上面数组中的用户触摸模式。

欢迎任何其他更有效的逻辑。

1 个答案:

答案 0 :(得分:1)

我首先要对您的视图进行子类化并重写触摸事件方法,以便您进行大量控制:

@Override
    public boolean dispatchTouchEvent(MotionEvent ev) 
    {
        return super.dispatchTouchEvent(ev);
    };

    @Override
    public boolean onTouchEvent(MotionEvent ev) 
    {
        return super.onTouchEvent(ev);
    }
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) 
    {
        return false;
    }

之后,您必须拥有一个记录每个触摸事件时间的局部变量,然后计算增量时间。这个post也可能有用。它们将OnTouchListener附加到视图。