您好,我想知道平板电脑是否轻轻敲打。我想也许实施accellerometer应该这样做。但是我看到所有人都试图用它来寻找动摇动作。如果平板电脑被点击,有什么方法可以找到吗?感谢。
编辑:通过说点击我的意思是点击平板电脑顶部。不在屏幕上。
答案 0 :(得分:0)
我想说检测水龙头的更简单的途径是测量MotionEvent.ACTION_DOWN和相应的ACTION_UP之间的时间 - 如果它小于350毫秒,用户可能正在做一个水龙头而不是按或其他一些手势。
考虑以下内容,其中TAP_CONSTANT为抽头持续时间的整数常量:
private class TapListener implements OnTouchListener
{
long time;
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
time = System.currentTimeMillis();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
if ((System.currentTimeMillis() - time) <= TAP_CONSTANT)
{
// We have a tap event, call our tap logic methods!
return true;
}
}
return false;
}
}