我正在尝试绘制一个自定义视图,该视图具有一个将填充4种颜色的渐变的弧,并且我选择SweepGradient来适合此视图,当我尝试使用它时,它对于两种颜色都适用,即使添加更多颜色我也不能够获得其他两种颜色。我尝试了不同的职位组合,但似乎没有任何效果。
int colorRes[] = {R.color.yellow, R.color.green,R.color.oragne, R.color.red};
float stops[] = {0,0.3f,0.6f,1};
int colors[] = new int[colorRes.length];
for(int i=0;i<colorRes.length;i++){
colors[i]= context.getResources().getColor(colorRes[i]);
}
Shader gradient = new SweepGradient (wdith/2,height/2, colors, stops));
lighted.setShader(gradient);
canvas.drawArc(rectf, 130, 280, false, lightRed);
对我来说,实际问题是由于Android Studio中的一个错误而尚未修复。
请查看此处报告的问题
在Android Studio中,布局预览中的SweepGradient渲染失败,因为在真实设备中,它工作正常。
我意识到,在真实设备中测试自定义视图总是很有益的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句