Android: 从顶部开始绘制渐变圆弧

Android: draw arc with gradient from top

渐变从 3 点开始 - 但我希望它从 12 点开始。

 int color1 = Color.RED;
 int color2 = Color.BLUE;
 int[] colors = {color1, color2};
 Shader gradient = new SweepGradient(width / 2, height / 2, colors, null);
 mArcPaint.setShader(gradient);

关于如何将开始轮换为 12 有什么建议吗?我试过

 Matrix matrix = new Matrix();
 matrix.postRotate(270f);
 gradient.setLocalMatrix(matrix);

但它对我不起作用。

需要指定旋转pointX,pointY
在你的情况下:

Matrix matrix = new Matrix();
matrix.postRotate(270f,width / 2, height / 2);
gradient.setLocalMatrix(matrix);

我使用着色器绘制圆形来显示下面的不同情况