У меня есть SweepGradient, определяемый как
circle_paint.setShader(new SweepGradient(getWidth()/2, getHeight()/2, new int[] { circle_start_color, circle_end_color}, new float[] { 0f, 1f}))
применяется к арке, определенной как
canvas.drawArc(circle_bounds, circle_start_perc*360f, circle_end_perc*360f, true, circle_paint);
Это хорошо работает, но мне нужна свода, чтобы начать рисовать с верхней части экрана, т.е.
canvas.drawArc(circle_bounds, ((circle_start_perc*360f)-90f)%360, circle_end_perc*360f, true, circle_paint);
Проблема в том, что SweepGradient, похоже, все еще начинается с 0 градусов, и мне нужно, чтобы он начинался с 270 градусов (аналогично переводу, сделанному на рисунке дуги). Другими словами, если у меня есть градиент от белого до синего, мне нужно, чтобы верхняя часть дуги была окрашена в белый цвет, а последняя часть дуги окрашена в синий цвет. Как я могу это сделать?