这一定是一个简单的,但我真的很茫然......以下代码绘制了一个矩形,其线性渐变从左到右,从白色到黑色,
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);
Run Code Online (Sandbox Code Playgroud)
好的.现在我要做的是将此渐变更改为水平渐变,使颜色从白色变为黑色,从上到下.我试图做的是添加:
Matrix trans = new Matrix();
trans.setRotate(90);
shader.setLocalMatrix(trans);
Run Code Online (Sandbox Code Playgroud)
但相反,渐变是一个有趣的天使,或者只有一种颜色......我也试图以各种方式玩渐变的坐标(认为可能它们应该被转换)无济于事.我错过了什么?
android ×1