我正在为 android 开发一个应用程序,在该应用程序中,我使用屏幕触摸从用户那里获取振动模式并将其保存在数组中。例如
long[] pattern = {100, 200,150};
首先振动 100 毫秒,然后接下来的 200 毫秒不振动,然后振动接下来的 150 毫秒。我想根据用户输入创建这个值。
我正在使用Timer类,我将节省用户在两次触摸之间花费的时间。但是作为java新手,我无法弄清楚如何实现上述逻辑,在上述数组中转换用户触摸模式。
也欢迎任何其他更有效的逻辑。
我将首先继承您的视图并覆盖触摸事件方法,这将允许您进行大量控制:
@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;
}
之后,您将必须有一个记录每个触摸事件时间的局部变量,然后计算增量时间。这个帖子也可能有用。他们将 OnTouchListener 附加到视图。