2

2色で着色される円を描きたいです。0 度から 180 度までの 1 つの色と残りの 2 番目の色。私はこのようなものを持っています:

private void drawCircle(Canvas c)
{
    RectF oval = new RectF(20, 20, 100, 100);

    c.drawArc(oval, 0, 180, false, getPaintWithColor(R.color.background));
    c.drawArc(oval, 180, 360, false, getPaintWithColor(R.color.font_grey));
}

private Paint getPaintWithColor(int colorId){
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setDither(true);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(4);
    paint.setColor(getResources().getColor(colorId));

    return paint;
}

しかし、この後アークはカラーで単色化font_grey

4

2 に答える 2

0

これを試して :

  Shader gradient = new SweepGradient (0,getMeasuredHeight()/2, Color.RED, Color.WHITE);
  lighted.setShader(gradient);
  canvas.drawArc(rectf, -90, 360, false, lightRed);
于 2013-10-21T13:19:04.830 に答える