请问如何在一个自定义的控件中 重写onDraw函数来实现:在一个已经draw出来的圆上draw数字
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.rgb(198, 198, 198));
mPaint.setStyle(Style.FILL);@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawCircle(8, 8, 5, mPaint);
    // draw num on circle
    canvas.drawText("1", 0, 0, mPaint);
}

解决方案 »

  1.   

    windows的drawText是从左上角的点画起  android的drawText是从左下角画起的
    所以drawText参数y不能为0要不看不到了                paint.setColor(Color.RED);
                    canvas.drawCircle(8, 8, 5, paint);
                    paint.setColor(Color.BLUE);
                    canvas.drawText("1", 0, 12, paint);
      

  2.   

    你的园不能和背景色一样 数字是黑色drawText前设置paint.setColor(Color.BLACK);               paint.setColor(Color.RED);
                    canvas.drawCircle(8, 8, 5, paint);
                    paint.setColor(Color.BLACK);
                    canvas.drawText("1", 0, 12, paint);