このチュートリアルに従って、ビューの onTouchEvent() メソッドですべての MotionEvents が渡される単純なジェスチャー検出器があります。
http://android-developers.blogspot.com/2010/06/make-sense-of-multitouch.html
画面に触れたときに指の周りに円を描く私のコードのサンプル:
@Override
public boolean onTouchEvent(MotionEvent ev) {
// send the touch event to the gesture detector
if (mBuildupDetector.onTouchEvent(ev)) {
Log.d(LOG_TAG, "onTouchEvent(): Gesture consumed.");
} else {
Log.d(LOG_TAG, "onTouchEvent(): Gesture not consumed.");
}
switch (curAction) {
case MotionEvent.ACTION_DOWN: {
drawCircle();
}
}
}
次に、ジェスチャー検出器のプライベート サブクラスを作成します。
private class BuildupListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent ev) {
Log.d("BuildupListener", "onDown(): Triggered.");
return true;
}
}
したがって、ユーザーが画面に触れてモーション イベントを生成すると、ジェスチャが実際に「消費された」という確認が得られ、GestureDectector の onDown メソッドで円の直径を変更できます。ただし、呼び出されて実行されたように見えても、onDown からログは書き出されません。
ロギングに関する基本的なこと、およびプライベート サブクラスまたはジェスチャ ディテクタ内からロギングを行う方法が不足していますか?
ありがとう、
ポール