@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);} 当您需要对某某控件进行进行重新绘制的时候,我们只需要在这个大舞台(Canvas)调用Canvas.DrawXXX方法画出各种各样的图形。public class MyView extends View {private Paint paint;public MyView(Context context, AttributeSet attrs) {super(context, attrs);init();}private void init() {paint=new Paint(Paint.ANTI_ALIAS_FLAG);paint.setColor(Color.RED);paint.setStrokeWidth(5);paint.setTextSize(28);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {setMeasuredDimension(measureWidth(widthMeasureSpec),measureWidth(heightMeasureSpec));}public int measureWidth(int measureSpec) {int result = 0;int specMode = MeasureSpec.getMode(measureSpec);int specSize = MeasureSpec.getSize(measureSpec);if (specMode == MeasureSpec.EXACTLY) {result = specSize;} else {result = 200;if (specMode == MeasureSpec.AT_MOST) {result = Math.min(specSize, result);}}return result;}@Overrideprotected void onDraw(Canvas canvas) {canvas.drawText("中国", 0, 80, paint);super.onDraw(canvas);}}上述代码,我们做了这么几件事了:
这就是我对Android View 如何绘制一点灼见,希望大家多提建议。