Android-LinearGradient Java中的多种颜色
我正试图在AndroidPlot的背景上绘制一个渐变,我所需要的只是一个绘画对象 因此,我将使用以下代码: int[]co=newint[]{Color.RED,Color.YELLOW,Color.GREEN,Color.YELLOW,Color.RED} float[]coP=新的float[]{0.1f、0.1f、0.6f、0.1f、0.1f} 但是背景只有一种颜色:红色 我不知道为什么,也不知道如何修复它Android-LinearGradient Java中的多种颜色,java,android,androidplot,Java,Android,Androidplot,我正试图在AndroidPlot的背景上绘制一个渐变,我所需要的只是一个绘画对象 因此,我将使用以下代码: int[]co=newint[]{Color.RED,Color.YELLOW,Color.GREEN,Color.YELLOW,Color.RED} float[]coP=新的float[]{0.1f、0.1f、0.6f、0.1f、0.1f} 但是背景只有一种颜色:红色 我不知道为什么,也不知道如何修复它 你有什么想法吗?在AndroidPlot中有一个这样的例子 医生说: @参数位置可
你有什么想法吗?在AndroidPlot中有一个这样的例子 医生说: @参数位置可能为空。如果为空, 颜色在起点和终点之间均匀分布。 如果不为null,则值必须以0开头,以1.0结尾,然后 中间值必须严格递增 所以你可以 1) 设为空 2) 浮动[]位置=新浮动[]{0.1f、0.3f、0.5f、0.7f、0.9f}
结果:
|--------|-------------------------|-----------------------------|-----------------------------|-------------------------|--------|
红色0.1红色-黄色0.3黄色-绿色0.5绿色-黄色0.7黄色-红色0.9红色 或 浮动[]位置=新浮动[]{0f,0.3f,0.5f,0.7f,1f}
结果:
|------------------------|-----------------------------|-----------------------------|-------------------------|
0红-黄0.3黄-绿0.5绿-黄0.7黄-红1 可以指定颜色数组,LinearGradient类将自动绘制沿渐变线均匀分布的颜色 例如:
float[]位置=null;
int[]颜色={
颜色,黑色,
颜色,红色,
颜色:绿色
};
paint.setShader(新的LinearGradient(0f,0f,(float)bounds.width(),0f,colors,positions,Shader.TileMode.MIRROR));
是的,我知道。但是我想用5种颜色绘制一个渐变,正如你在我的示例代码中看到的那样。我使用另一个构造器,但它不起作用。另一个选择是在Photoshop中创建渐变并将其水平拉伸。但我不知道如何将位图设置为绘图或绘制对象的背景。
>Paint pa = new Paint();
>pa.setAlpha(200);
>pa.setShader(new LinearGradient(0,0,250,graphv.getHeight(),co,coP,Shader.TileMode.REPEAT));
// setup our line fill paint to be a slightly transparent gradient:
Paint lineFill = new Paint();
lineFill.setAlpha(200);
lineFill.setShader(new LinearGradient(0, 0, 0, 250, Color.WHITE, Color.BLUE, Shader.TileMode.MIRROR));
stepFormatter.setFillPaint(lineFill);