■事前準備

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

②.HelloWorldの文字を消す

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

■描画方法

ラインを動的に描画するにはPathオブジェクトか、canvasのdrawLineを使用しますが
今回はpathオブジェクトを使用したラインの描画を紹介します。
※CanvasについてはCanvas -基本-に記述しているのでそちらを確認して下さい。

●Path
	Pathオブジェクトは位置情報を更新して
	古い位置情報との間に線を引くことができるオブジェクト(クラス)です。
	タッチ中の位置を随時取得することで実際に線を引いているように
	見せることが可能です。

	・開始位置の指定
		線を引くための開始位置を指定するにはmoveTo関数を使用します。
		
		関数名:
			moveTo
		
		戻り値:
			なし
			
		引数:
			float x:
				開始X座標
				float y:
					開始Y座標
			
			内容:
				開始位置を設定する

			例:
				Path path = new path();

				// 開始位置を100、100に設定する
				path.moveTo(100, 100);
		
	・線を引く
		線を引くにはlineToを使用します。
	
		関数名:
			lineTo

		戻り値:
			なし
			
		引数:
			float x:
				線の終端のX座標
			
			float y:
				線の終端のY座標
			
		内容:
			Pathオブジェクトが持っている位置から新しい位置に線を引く
			線は前回のmoveToまたはLineToなど関数の
			終点を開始位置として引数の位置まで引かれる

		例:
			Path path = new Path();

			// 開始位置を100、100に設定する
			path.moveTo(100, 100);

			// 100、200まで線を引く
			path.lineTo(100, 200);

			// 100、200から200、200まで線を引く
			path.lineTo(200, 200);

	・線を描画する
		moveToやlineToはあくまで、描画する線の始点、終点を
		指定しているだけなので、実際に描画する関数を呼び出す必要があります。
		描画関数はcanvasのdrawPath関数を使用するので、onDraw関数内で呼び出し、
		Paintクラスも必要です。

		関数名:
			drawPath
			
		戻り値:
			なし
			
		引き数:
			Path path
				描画するパスオブジェクト
				
			Paint paint
				描画するパスのペン情報
			
		内容:
			Pathに格納されている線情報を使用して描画する
			その際の線の太さや色などはPaintクラスの内容を使用する
			
		例:
			Path path = new Path();

			// 開始位置を100、100に設定する
			path.moveTo(100, 100);
			// 100、200まで線を引く
			path.lineTo(100, 200);
			// 100、200から200、200まで線を引く
			path.lineTo(200, 200);

			// ペン情報作成
			Paint paint = new Paint();
			// 色(赤)
			paint.setColor(Color.RED);
			// スタイル
			paint.setStyle(Paint.Style.STROKE);
			// 線の太さ
			paint.setStrokeWidth(10);

			// パス描画
			canvas.drawPath(path, paint);

■サンプル(2.1以前)

①.LinePaint.javaの作成
	app => java => com.examlple.hl.drawline => 右クリック => 
	New => JavaClassでLinePaintクラスを作成します。
	※名前以外はそのままの設定で問題ありません。

	mb_0088

②.Viewの継承
	LinePaintクラスにViewクラスを継承させ、
	以下のコードをコーディングします。

	public LinePaint(Context context, AttributeSet attribute) 
	{
		super(context, attribute);
	}

	@Override
	public void onDraw(Canvas canvas)
	{
		Path path = new Path();

		path.moveTo(100, 100);
		path.lineTo(100, 200);
		path.lineTo(200, 200);

		Paint paint = new Paint();
		paint.setColor(Color.RED);
		paint.setStyle(Paint.Style.STROKE);
 		paint.setStrokeWidth(10);

		canvas.drawPath(path, paint);

	}

③.画面に配置
	Palette => Custom => CostomViewをクリックします。

④.クラスの選択
	Viewを継承したクラスのリストが表示されるので、
	その中からLinePaintクラスを選択します。

	mb_0084

⑤.Viewのサイズ設定
	AndroidにViewが設置されると青い枠が表示されるので
	Androidの画面いっぱいに広がるように設定します。

	mb_0091

⑥.実機で確認する
	実機で確認すると赤色の四角が描画されます。

	mb_0086

■サンプル(2.2以降)

①.LinePaint.javaの作成
	app => java => com.examlple.hl.drawline => 右クリック => 
	New => JavaClassでLinePaintクラスを作成します。
	※名前以外はそのままの設定で問題ありません。

	mb_0083

②.Viewの継承
	LinePaintクラスにViewクラスを継承させ
	以下のコードをコーディングします。

	public LinePaint(Context context, AttributeSet attribute) 
	{
		super(context, attribute);
	}

	@Override
	public void onDraw(Canvas canvas)
	{
		Path path = new Path();

		path.moveTo(100, 100);
		path.lineTo(100, 200);
		path.lineTo(200, 200);

		Paint paint = new Paint();
		paint.setColor(Color.RED);
		paint.setStyle(Paint.Style.STROKE);
 		paint.setStrokeWidth(10);

		canvas.drawPath(path, paint);
	}

③.画面に配置
	Palette => Advanced => Viewを選択し、AndroidにD&Dする

④.クラスの選択
	Viewを継承したクラスのリストが表示されるので、
	その中からLinePaintクラスを選択します。

	mb_0084

⑤.Viewのサイズ設定
	AndroidにViewが設置されると青い枠が表示されるので
	Androidの画面いっぱいに広がるように設定します。

	mb_0085

⑥.実機で確認する
	実機で確認すると赤色の四角が描画されます。

	mb_0086