package org.android.textbook.lesson4.toucheventsample;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.MotionEvent;
public class TouchSampleActivity extends Activity {
private static final String TAG = "TouchSampleActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
Log.e(TAG, "dispatchTouchEvent");
return super.dispatchTouchEvent(event);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.e(TAG, "onTouchEvent");
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
// タッチダウン
break;
case MotionEvent.ACTION_UP:
// タッチアップ
break;
case MotionEvent.ACTION_MOVE:
// タッチムーブ
break;
case MotionEvent.ACTION_CANCEL:
// タッチが破棄されました
break;
case MotionEvent.ACTION_OUTSIDE:
// 領域外でタッチ操作が行われた
break;
case MotionEvent.ACTION_POINTER_DOWN:
// 2点目以降のタッチダウン
// 何番目のポインターか取得
int downIndex = event.getActionIndex();
// ポインターのIDを取得
int downId = event.getPointerId(event.getActionIndex());
Log.e(TAG, "ACTION_POINTER_DOWN downIndex = " + downIndex + ",downId = " + downId);
break;
case MotionEvent.ACTION_POINTER_UP:
// 2点目以降のタッチアップ
int upIndex = event.getActionIndex();
// ポインターのIDを取得
int upId = event.getPointerId(event.getActionIndex());
Log.e(TAG, "ACTION_POINTER_UP upIndex = " + upIndex + ",downId = " + upId);
break;
default:
break;
}
return super.onTouchEvent(event);
}
}