画面タッチ判定

■事前準備

①.新しいプロジェクト「TouchTest」を作成する

②.HelloWorldの文字を消す

③.一度実行してエミュレータの起動を行っておく

■タッチ判定

画面がタッチされたかどうかを判定するには
Viewを設定し、そのViewがタッチされているかを判定します。
判定には「onTouchEvent」メソッドを使用します。

●詳細
	関数名:
		onTouchEvent
		
	戻り値:
		boolean:
			Viewの下にあるViewにイベントを渡すかを返す
			true:
				渡す
			false:
				渡さない
		
	引数:
		MotionEvent
			イベント情報データ
		
	内容:
		Viewがタッチされた際に呼び出される
		タッチの詳細(押された瞬間、押されている)などは
		引数のMotionEventにて取得が可能

●getAction
	getActionでイベントの詳細を取得できます。

	例:
		押された瞬間 => MotionEvent.ACTION_DOWN
		押されている => MotionEvent.ACTION_MOVE
		離した瞬間 => MotionEvent.ACTION_UP

●getX、getY
	getX、getYでViewがタッチされた座標を取得できます。

	getX:
		タッチした位置(X座標)

	getY:
		タッチした位置(Y座標)

■サンプル

public class TouchTest extends View 
{
	private Path mPath;

	public TouchTest(Context context, AttributeSet attribute)
	{
		super(context, attribute);

		// 線を引くためのパスを作っておく
		mPath = new Path();
	}

	@Override
	protected void onDraw(Canvas canvas)
	{
		super.onDraw(canvas);

		// 赤線の設定
		Paint paint = new Paint();
		paint.setColor(Color.RED);
		paint.setStyle(Paint.Style.STROKE);
		paint.setStrokeWidth(10);

		// 線の描画
		canvas.drawPath(mPath, paint);
	}

	@Override
	public boolean onTouchEvent(MotionEvent event)
	{
		switch (event.getAction())
		{
		// Viewがタップされた
		case MotionEvent.ACTION_DOWN:
			// タップされた位置にパスを設定
			mPath.moveTo(event.getX(), event.getY());
			break;
		// タップされたまま移動した
		case MotionEvent.ACTION_MOVE:
			mPath.lineTo(event.getX(), event.getY());
			break;
		// タップをやめた
		case MotionEvent.ACTION_UP:
			mPath.lineTo(event.getX(), event.getY());
			break;
		}

		// 更新
		invalidate();

		return true;
	}
}