1、setShader
Paint对象的setShader函数,我的感觉是设置一种方式来填充图形。
可以设置为渐变,代码如下:
Paint paint=new Paint(); //定义一个Paint
Shader mShader = new LinearGradient(0,0,40,60,new int[] {Color.RED,Color.GREEN,Color.BLUE},null,Shader.TileMode.REPEAT);
//新建一个线性渐变,前两个参数是渐变开始的点坐标,第三四个参数是渐变结束的点的坐标。连接这2个点就拉出一条渐变线了,玩过PS的都懂。然后那个数组是渐变的颜色。下一个参数是渐变颜色的分布,如果为空,每个颜色就是均匀分布的。最后是模式,这里设置的是循环渐变
paint.setShader(mShader);
Shader可以有以下几种:
bitmapShader 位图平铺
linearGradient 线性渐变
radialGradient 圆形渐变
sweepGradient 角度渐变
composeShader 组合效果(组合以上几种)
2、setShadowLayer
设置了这个之后,再画出来的图形后面,会有一个阴影
paint.setShaderLayer(15,10,10,Color.GRAY); //第一个参数是阴影扩散半径,紧接着的2个参数是阴影