我像这样创建一个SweepGradient
int[] colors = { Color.RED, Color.BLUE };
// float[] positions = {0,1}; => this will work without error
float[] positions = { 0 , 280f/360 };
SweepGradient gradient = new SweepGradient(width / 2, height / 2, colors, positions);
当我设置float[] positions = {0,1}
时,它将正常工作(无错误)
当我更改为float[] positions = { 0 , 280f/360 }
时,在Preview mode of AndroidStudio
中显示渲染错误但在模拟器中它工作正常
为什么会这样?我该如何解决?
答案 0 :(得分:1)
int colors[] = {Color.RED, Color.BLUE, Color.BLUE};
float positions[] = {0.f, 280f / 360, 1.f};
确保positoins
数组跨越全范围,即[0.f,1.0f]。现在预览也将正确显示。
答案 1 :(得分:0)
可能为NULL。颜色数组中每个对应颜色的相对位置,从0开始,以1.0结尾。