1、setShader
Paint对象的setShader函数,我的感觉是设置一种方式来填充图形。
可以设置为渐变,代码如下:
Shader可以有以下几种:
bitmapShader 位图平铺
linearGradient 线性渐变
radialGradient 圆形渐变
sweepGradient 角度渐变
composeShader 组合效果(组合以上几种)
设置了这个之后,再画出来的图形后面,会有一个阴影
3、Path的6种效果
CornerPathEffect 在路径的转折处是圆角,构造参数为圆角半径
DiscretePathEffect 不规则的锯齿线(类似心电图)
构造参数:
第一个是小三角的开口宽度(心电图每个波之间的宽度)
一个是偏移量(心电图高度)
DashPathEffect 虚线
构造参数:
第一个是一个数组,数组长度必须>=2,数组的值定义了宽度,比如 {20,10,5,10},意思就是第一个实线段长20,他后面的空白长10,然后又是一个长5的实线段,然后是长度10的空白。
第二个参数说是偏移量,没发现具体作用
PathDashPathEffect 类似上面一个,不过是由path图形组成的线段(如由三角形组成的线段,正方形组成的线段)。
构造参数:
第一个参数是一个path,由他定义图形。
第二个是间距
第三个和上面一样
第四个是变换方式,有PathDashPathEffect.Style.TRANSLATE,ROTATE,MORPH三种。第一个就是直接把图形摆出路径,第二个会依据路径旋转,第三个是依据路径自动变形
ComposePathEffect 把两个上面其他的方式组合起来
构造参数:
第一个是一个effect
第二个还是一个effect
SumPathEffect 把两个其他方法加起来,和上面类似,差别不好描述。。。