今回は絵を描画してみる。
絵を書く為には、canvasと言うクラスの上に書く必要があるが、このCanvasはActivityクラスについているものでないので、
今回はViewクラスを継承して、DrawViewクラスを作成する。
Viewクラスには、コンストラクタとして、onDrawと言う関数が実行される。このonDrawは、canvasを引数として利用できる為onDrawの際に秒描画を行う。
描画に際しては、まず、色を決める
paint.setColor(Color.WHITE);
カーブを使うので、アンチエイリアスをtrueにする。
paint.setAntiAlias(true);
円を描くのにはdrawCircleと言うクラスがある。
canvas.drawCircle(100, 100, 50, paint);
座標(100,100)に半径50の円を書く
package in.andante.drawd; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View; public class DrawView extends View { public DrawView(Context context){ super(context); } protected void onDraw(Canvas canvas){ Paint paint = new Paint(); //色のセット paint.setColor(Color.WHITE); //太さのセット paint.setStrokeWidth(10); //アンチエイリアス paint.setAntiAlias(true); canvas.drawCircle(100, 100, 50, paint); } }
以上で、Viewクラスができるので、Activityで次のようにして、アプリに反映をさせる。
package in.andante.drawd; import android.app.Activity; import android.os.Bundle; public class Drawd extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); DrawView view = new DrawView(this); setContentView(view); } }
以上で円を描く事ができた。