Android中的90度径向渐变

时间:2011-09-09 12:52:21

标签: android android-layout

我正在制作一个显示(圆形)标尺的自定义视图。我想要 使比例的背景从绿色变为黄色到红色 (270度刻度)为黑色。我面临的问题是我不能 弄清楚如何制作90度径向梯度 - 具体我 我想绘制一个从绿色到黄色的渐变径向 在90度(然后从黄色到红色(90度)和从 红色回来(再次在90度))。我目前的代码如下:

canvas.drawOval(scaleRect, scalePaint);

canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.rotate(-135, 0.5f, 0.5f);

paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f,
Color.GREEN, Color.YELLOW, Shader.TileMode.REPEAT));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);

canvas.rotate(90, 0.5f, 0.5f);

paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f,
Color.YELLOW, Color.RED, Shader.TileMode.MIRROR));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);

canvas.rotate(90, 0.5f, 0.5f);

paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f, Color.RED,
Color.BLACK, Shader.TileMode.MIRROR));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);

canvas.restore();

并且不会产生所需的外观。提前谢谢。

0 个答案:

没有答案