Waw*_*a08 5 android android-custom-view
我正在尝试制作一个颜色轮,允许用户在纯色或渐变之间进行选择.用户还可以在车轮周围移动这些颜色.
问题在于渐变.当角度超过360°时,显示的颜色将返回到第一种颜色,而不是继续渐变.
我正在使用自定义视图,我将粘贴的代码从onDraw方法调用.
int start = Color.rgb((int)previous.startRed, (int)previous.startGreen, (int)previous.startBlue);
int end = Color.rgb((int)previous.endRed, (int)previous.endGreen, (int)previous.endBlue);
int[] colors = {start, end, end};
float from = from_angle / 360.0f;
float to = (from_angle + to_angle) / 360.0f;
float[] positions = {from,to, to};
Log.v("Print", "print positions " + positions[0] + " " + positions[1]);
Shader gradient = new SweepGradient (oval.centerX(), oval.centerY(),colors, positions);
paint.setShader(gradient);
canvas.drawArc(oval, from_angle, to_angle + 1, false, paint);
Run Code Online (Sandbox Code Playgroud)
这是一张显示我面临的问题的图片.
任何提示都将不胜感激.谢谢.
| 归档时间: |
|
| 查看次数: |
1601 次 |
| 最近记录: |