矩形(四角形)を描画するには(Canvas.drawRect)

TOP > Androidアプリ開発日誌 >  矩形(四角形)を描画するには(Canvas.drawRect)

矩形(四角形)を描画するサンプルソースと解説(Android)


矩形の描画 android.graphicsパッケージの Canvasクラスを使用します。 Canvas.drawRect()やdrawRoundRect()で矩形を描画し、色・塗りつぶしなどは Paintインスタンスに設定します。
package jp.mediawing.android.test;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;

public class TestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new DrawTest(this));
    }

    // Viewをextendsしたクラスを作成し描画処理をする
    static public class DrawTest extends View {

		public DrawTest(Context context) {
			super(context);
		}

        // 描画処理を記述
    	@Override
    	protected void onDraw(Canvas canvas) {
		    Paint paint = new Paint();
		    paint.setColor(Color.argb(255, 255, 255, 255));
		    
		    Rect rect = new Rect(10, 20, 30, 40);
		    canvas.drawRect(rect, paint);
		    
		    RectF rectF = new RectF(40.5f, 20.5f, 60.5f, 40.5f);
		    canvas.drawRect(rectF, paint);
		    
		    paint.setStyle(Paint.Style.STROKE);
		    paint.setStrokeWidth(12);
		    canvas.drawRect(10, 50, 30, 80, paint);
		    
    	}
    }
}
void drawRect(float left, float top, float right, float bottom, Paint paint)
引数説明
left左(x)
top上(y)
right右(x)
bottom下(y)
paintPaintクラスのインスタンス

void drawRect(Rect r, Paint paint)
void drawRect(RectF rect, Paint paint)
引数説明
rectRectオブジェクト
paintPaintクラスのインスタンス

角丸のある矩形を描画する
void drawRoundRect(RectF rect, float rx, float ry, Paint paint)
引数説明
rectRectオブジェクト
rx丸みX
ry丸みY
paintPaintクラスのインスタンス

Android Developers - Canvas