解决方案 »

  1.   


    老师你好我用的是canvas和Paint来绘制  绘制的代码
    protected void drawPaintType(Canvas canvas, float cx, float cy,
    float radius, Paint paint) {
    Paint paintTmp;
    switch (getPaintDataType()) {
    case 0:
    break;
    case 1: // 绘制空心圆
    paintTmp = paint;
    paintTmp.setStyle(Paint.Style.STROKE);
    canvas.drawCircle(cx, cy, radius, paintTmp);
    break;
    case 2: // 绘制实心圆
    paintTmp = paint;
    paintTmp.setStyle(Paint.Style.FILL);
    canvas.drawCircle(cx, cy, radius, paintTmp);
    break;
    case 3: // 绘制空心方块
    paintTmp = paint;
    paintTmp.setStyle(Paint.Style.STROKE);
    canvas.drawRect(new Rect((int) cx - 2, (int) cy + 2, (int) cx + 2,
    (int) cy - 2), paintTmp);
    break;
    case 4:// 绘制实心方块
    paintTmp = paint;
    paintTmp.setStyle(Paint.Style.FILL);
    canvas.drawRect(new Rect((int) cx - 2, (int) cy + 2, (int) cx + 2,
    (int) cy - 2), paintTmp);
    break;

    case 5: // 绘制实心圆
    paintTmp = paint;
    paintTmp.setStyle(Paint.Style.FILL);
    paint.setStyle(Paint.Style.FILL_AND_STROKE);
        RadialGradient  mRadialGradient = new RadialGradient(cx,cy, 6,
         new int[]{Color.WHITE,Color.WHITE,Color.WHITE,Color.WHITE,Color.WHITE, 
         Color.WHITE,Color.WHITE,Color.WHITE,Color.WHITE,Color.WHITE, 
         Color.RED, Color.RED ,Color.RED},  
         null,RadialGradient.TileMode.REPEAT); 
        paint.setShader(mRadialGradient);
    canvas.drawCircle(cx, cy, 6, paintTmp);
    paint.setShader(null);
    break;

    }
    }
    里面没有设置填充空心颜色的方法
      

  2.   

    可以画多个圆,半径逐渐变小一点,不就是个实心圆了,STROKE的颜色可以设置