Это должно быть легко, но я действительно в недоумении... Следующий код рисует прямоугольник с линейным градиентом, идущим слева направо, от белого до черного,
int x1 = 0, y1 = 0, x2 = 100, y2 = 40;
Shader shader = new LinearGradient(x1, y1, x2, y2, Color.WHITE, Color.BLACK, TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(shader);
canvas.drawRect(new RectF(x1, y1, x2, y2), paint);
Хорошо, отлично. Теперь я хотел бы изменить этот градиент на горизонтальный, чтобы цвет шел от белого до черного, сверху вниз. Я попытался добавить:
Matrix trans = new Matrix();
trans.setRotate(90);
shader.setLocalMatrix(trans);
но вместо этого градиент идет у смешного ангела или есть только один цвет... Я также старался играть с координатами градиента всякими способами (думая, что, возможно, их нужно преобразовать), чтобы нет помогло. Что мне не хватает?