[Android] Android 1.5で追加されたGestureDetector.OnDoubleTapListener

| トラックバック(0) |

Android1.5から、android.viewパッケージにGestureDetector.OnDoubleTapListenerインターフェースが追加されています。

このインターフェースを使用すると、ダブルタップ(=マウスでいうところのダブルクリック)を簡単に検出できます。

↓のような感じ。

public class GestureTestActivity extends Activity implements
        GestureDetector.OnGestureListener,
        GestureDetector.OnDoubleTapListener {
    GestureDetector mGestureDetector;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mGestureDetector = new GestureDetector(this);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (mGestureDetector.onTouchEvent(event)) {
            return true;
        }

        return super.onTouchEvent(event);
    }

...省略...

    @Override
    public boolean onDoubleTap(MotionEvent e) {
        Log.v("Test", "onDoubleTap()");
        return false;
    }

    @Override
    public boolean onDoubleTapEvent(MotionEvent e) {
        Log.v("Test", "onDoubleTapEvent()");
        return false;
    }

    @Override
    public boolean onSingleTapConfirmed(MotionEvent e) {
        Log.v("Test", "onSingleTapConfirmed()");
        return false;
    }
}

Android 1.1以前でダブルタップを検出するコードを書いたことがある人にしか伝わらないかもしれなのですが、
シングルタップのAPIのみでダブルタップ検出を行うのは、結構大変だったのです。。。

マイナーネタであり、あまり知られていない?ようですが、コーディングが楽になるのでポストしておきます。

トラックバック(0)

トラックバックURL: http://mt.adakoda.com/mt-tb.cgi/231

2016年8月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31