【发布时间】:2010-10-22 18:33:17
【问题描述】:
这一定很简单,但我真的很茫然......下面的代码绘制了一个矩形,从左到右,从白色到黑色,线性渐变,
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);
但是渐变会出现在一个有趣的天使上,或者只有一种颜色...我还尝试以各种方式使用渐变的坐标(认为也许应该将它们转换)到 no利用。我错过了什么?
【问题讨论】:
标签: android