こんにちは、タブレットをスティックで軽く叩いたかどうかを知りたいです。たぶん加速度計を実装すればいいと思いました。しかし、人々がそれを使ってシェイクの動きを見つけようとしているのを見るだけです. タブレットがタップされているかどうかを確認する方法はありますか? ありがとう。
編集: タップとは、タブレットの上をタップすることを意味します。画面にはありません。
こんにちは、タブレットをスティックで軽く叩いたかどうかを知りたいです。たぶん加速度計を実装すればいいと思いました。しかし、人々がそれを使ってシェイクの動きを見つけようとしているのを見るだけです. タブレットがタップされているかどうかを確認する方法はありますか? ありがとう。
編集: タップとは、タブレットの上をタップすることを意味します。画面にはありません。
タップを検出するためのより簡単な方法は、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;
}
}