Android開発 虎の巻

グラフィック

■Canvasによる描画

1.Viewクラスを継承したクラスの作成

2.アクティビティで新たなビューを表示

setContentView(new DrawView(this));

3.onDrawのオーバーライド

4.onDraw内にソースを記述

例:
     Paint paint = new Paint();
     paint.setColor(Color.rgb(255, 0, 0));
     paint.setStrokeWidth(1);
     
     canvas.drawLine(0, 0, 100, 100, paint);

◇Paintクラス メソッド

setColor(色)色の設定
setStrokeWidth(太さ)線の太さの設定
setStyle(スタイル)塗りつぶし形式 Paint.Style.STROKE またはPaint.Style.FILL
setTextSize(サイズ)文字サイズの設定(sp)
setAntiAlias(boolean)アンチエイリアス

◇Canvasクラス メソッド

drawColor(色)塗りつぶし
translate(x,y)キャンバスの移動
drawLine(sx, sy, ex, ey, paint)線の描画
drawCircle(x,y,半径,paint)円の描画
drawRect(left, top, right, bottom, paint)四角形の描画
drawText(文字列, x, y, paint)文字列の描画

■SurfaceView

高速な描画を行う。

android.view.SurfaceView を継承しクラスを作成。後はCanvasの時と同様に作成。

SurfaceView を継承したクラスに implements SurfaceHolder.Callback を追加。
必要なオーバーライドを行い、コンストラクタで以下を行う。

	getHolder().addCallback(this);

surfaceCreated 内で以下のように描画を行う。

	public void surfaceCreated(SurfaceHolder holder) {
		Canvas canvas = holder.lockCanvas();
		Paint paint = new Paint();
		
		canvas.drawColor(Color.WHITE);
		paint.setColor(Color.BLUE);
		paint.setAntiAlias(true);
		paint.setTextSize(24);

		canvas.drawText("ABCDE", 0, 100, paint);
		holder.unlockCanvasAndPost(canvas);
		
	}
Android開発 虎の巻