Viewに描画する方法【Android】

Androidのカスタムビューを作成して、文字列と枠線を描画するサンプルです。

package com.erestage.chart;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        MyView myView = new MyView(this);
        setContentView(myView);
    }

    // Viewを継承したクラス
    class MyView extends View {
        private Paint paint;

        public MyView(Context context) {
            super(context);
            paint = new Paint();
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // drawRectを使用して描画領域全体に枠を出力する
            paint.setColor(Color.argb(255, 255, 0, 255));
            paint.setStrokeWidth(10.0f); // 線の太さ
            paint.setStyle(Paint.Style.STROKE);
            canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);

            // 文字列を出力する
            paint.setStyle(Paint.Style.FILL_AND_STROKE);
            paint.setStrokeWidth(1);
            paint.setTextSize(80);
            paint.setColor(Color.argb(255, 10, 10, 255));
            canvas.drawText("文字列を出力する", 30, 100, paint);
        }
    }
}

Viewクラスを継承してカスタムビューを作ることができます。カスタムビューの描画はonDrawメソッドをオーバーライドすることによって行うことができます。この手法を発展させて株価チャートを表示するアプリを作成することを今年(2019年)の目標にします。

システム開発

Posted by @erestage