渐变从 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);
我使用着色器绘制圆来显示下面的不同情况
关于Android:从顶部绘制带有渐变的圆弧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35867124/