我正在为Android开发一个应用程序,其中我使用屏幕触摸从用户处获取振动模式并将其保存在数组中。 例如
long[] pattern = {100, 200,150};
前100ms振动然后接下来的200ms不振动然后振动接下来的150ms。 我想根据用户输入创建这个值。
我正在使用Timer
课程,我将节省用户在两次触摸之间花费的时间。
但是作为java的新手,我无法弄清楚如何实现上面的逻辑,转换上面数组中的用户触摸模式。
欢迎任何其他更有效的逻辑。
答案 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附加到视图。