View通过View.onDraw(Canvas canvas)来Draw.
我们可以定义自己的继承于View的TestView,然后重载View.onDraw(Canvas canvas).
对于自定义的TestView如何与Activity关联?有以下两种方式:
- 直接在setContentView(View view)里面加进去自定义的View:setContentView(new TestView(this)).
- 另外,可以在layout文件里面可以使用自定义的View(如何自定义的View为内部类,就会失效),如:
以下为使用onDraw(Canvas canvas)画矩形区域,及在其上画文本的实例(通过使用内部类使程序显得更加简洁,紧凑):
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
String text = "Android - 机器人";
mPaint.setColor(Color.WHITE);
Paint paint = new Paint();
paint.setColor(Color.RED);
String familyName = "宋体";
Typeface font = Typeface.create(familyName,Typeface.BOLD);
paint.setTypeface(font);
paint.setTextSize(22);
canvas.drawRect(new Rect(0, 0, 320, 240), mPaint);
canvas.drawText(text, 0, 100, paint);
}
}
}
运行效果如下图: