LinearGradient
线性渐变(线性梯度),用来实现在线的直线渐变,这个线是可以是直线竖线或者斜线
构造方法
public LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions,Shader.TileMode tile)
参数:
float x0: 渐变起始点x坐标
float y0:渐变起始点y坐标
float x1:渐变结束点x坐标
float y1:渐变结束点y坐标
int[] colors:颜色 的int 数组
float[] positions: 相对位置的颜色数组, 为null,颜色沿渐变线均匀分布
Shader.TileMode tile: 渲染器模式
x0,y0合在一起构成一个起点的坐标;
x1,y1合在一起构成个结束点的坐标;
int[]这个是颜色的数组所有的颜色;
float[]颜色对应的位置
Shader.TileMode颜色渐变的模式
Shader.TileMode:
CLAMP:超出其原始边界,则复制边缘颜色
MIRROR:根据x轴或y轴进行翻转
REPEAT:重复该明暗器的图像
这里要重点说的是float数组的参数,不传入值的时候颜色值均匀分布在这个线上,那么均匀是指,如果传入3个值,那你float[]传入是空他的默认就是{0,0.5f,1},也就是说float数组是指的颜色对应的点
LinearGradient linearGradient = new LinearGradient(x, mTopPadding, x, bottom,
new int[]{Color.TRANSPARENT, Color.WHITE, Colo