直線を描画するには(drawLine)

TOP > Androidアプリ開発日誌 >  直線を描画するには(drawLine)
このエントリーをはてなブックマークに追加

直線を描画するサンプルソースと解説(Android)

線の描画 android.graphicsパッケージの Canvasクラスを使用します。 Canvas.drawLine()で直線を描画でき、複数の直線はCanvas.drawLines()で描画する事ができます。 色・塗りつぶしなどは Paintインスタンスに設定します。
package jp.mediawing.android.test;

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

public class TestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        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, 0, 0, 0));
            canvas.drawLine(0, 0, 50, 50, paint);

            // 黒の中太の線
            paint.setStrokeWidth(5);
            float[] pts = {50, 50, 100, 100};
            canvas.drawLines(pts, paint);

            // 青の太い線
            paint.setColor(Color.BLUE);
            paint.setStrokeWidth(10);
            float[] pts2 = {100, 100, 150, 150};
            canvas.drawLines(pts2, paint);
        }
    }

}

drawLine(float startX, float startY, float stopX, float stopY, Paint paint)
引数説明
startX開始点X
startY開始点Y
stopX終了点X
stopY終了点Y
paintPaintクラスのインスタンス

void drawLines(float[] pts, Paint paint)
引数説明
pts配列 [x0 y0 x1 y1 x2 y2 ...]
paintPaintクラスのインスタンス

void drawLines(float[] pts, int offset, int count, Paint paint)

Android Developers - Canvas