Android アプリ開発 「MATRIX」

Androidアプリの開発に役立つサンプル集

Viewクラスで画面(canvas)に複数の円を描く方法

 Viewクラスで画面(canvas)に複数の円を描く方法です。円はプログラムで生成されたViewのcanvasにdrawCircleで直接に描かれる仕組みです。

MainActivity.java

起動直後にこのMainActivity.javaが実行される。今回はレイアウトファイル(*****.xml)ではなく「MyView.java」を呼び出して、その内部で画面を構成し描画している。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(getBaseContext()));
}
}

MyView.java

円の描画を行っているのはこのMyView.javaの中のMyViewクラスである。

public class MyView extends View {

//変数を用意
private int x,y,z;

//コンストラクタ
public MyView(Context context) {
super(context);
setBackgroundColor(Color.BLACK);
}

//描画時に自動で呼ばれる関数
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

//ペイントを生成
Paint paint = new Paint();

//for9回繰り返す
for(int i = 1; i < 10; i++) {

//座標x,y、円の大きさ設定
x = i * 100;
y = i * 100;
z = i + 50;

//塗りの色を赤に設定
paint.setColor(Color.RED);
//座標x,yの位置にzの大きさの円を描画
canvas.drawCircle(x, y, z, paint);
}
}
}

実行結果

赤い円が9つ描画された。

f:id:vw-dsg:20170604162831p:plain

 

END