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();
//forで9回繰り返す
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つ描画されました。

END